BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/eformat/include/eformat/NoSuchChildIssue.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file eformat/NoSuchChildIssue.h
5 * @author <a href="mailto:Andre.dos.Anjos@cern.ch">Andre DOS ANJOS</a>
6 * $Author: zhangy $
7 * $Revision: 1.1.1.1 $
8 * $Date: 2009/06/19 07:35:41 $
9 *
10 * @brief Exception thrown when the position of a child doesn't exist in the
11 * current fragment.
12 */
13
14#ifndef EFORMAT_NOSUCHCHILDISSUE_H
15#define EFORMAT_NOSUCHCHILDISSUE_H
16
17#include "eformat/Issue.h"
18
19namespace eformat {
20
21 /**
22 * This exception is supposed to be thrown when the user is looking for a
23 * child fragment that doesn't exist.
24 */
26
27 public: // interface
28 /**
29 * Builds a new no-such-child exception
30 *
31 * @param context The Error Reporting System context to be used to identify
32 * the spot where this issue was created
33 * @param severity The severity of this issue
34 * @param req The request child
35 * @param total The total child number available
36 */
37 NoSuchChildIssue( const ers::Context& context, ers::severity_t severity, size_t req,
38 size_t total );
39
40 /**
41 * Destructor virtualisation
42 */
43 virtual ~NoSuchChildIssue() throw() {}
44
45 /**
46 * Access the number of the requested child
47 */
48 size_t requested( void ) const;
49
50 /**
51 * Access the number of children said to exist in the current fragment
52 */
53 size_t total( void ) const;
54 };
55
56} // namespace eformat
57
58/**
59 * Simplifies the use of this Issue
60 *
61 * @param req The request child
62 * @param total The total child number available
63 */
64#define EFORMAT_NO_SUCH_CHILD( req, total ) \
65 eformat::NoSuchChildIssue( ERS_HERE, ers::error, req, total )
66
67#endif /* EFORMAT_NOSUCHCHILDISSUE_H */
NoSuchChildIssue(const ers::Context &context, ers::severity_t severity, size_t req, size_t total)
Source context for Issue.
severity_t severity() const
severity_t of the issue
enum ers::_severity_t severity_t