BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/eformat/include/eformat/TooBigCountIssue.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file eformat/TooBigCountIssue.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 Describes an exception that happens when the total number of blocks
11 * I'm managing is bigger than the one I was asked to manage initially.
12 */
13
14#ifndef EFORMAT_TOOBIGCOUNTISSUE_H
15#define EFORMAT_TOOBIGCOUNTISSUE_H
16
17#include "eformat/Issue.h"
18#include <stdint.h>
19
20namespace eformat {
21
22 /**
23 * This exception is supposed to be thrown when the user is trying to add
24 * more blocks than the number of blocks I can handle.
25 */
27
28 public: // interface
29 /**
30 * Builds a new size-check exception
31 *
32 * @param context The Error Reporting System context to be used to identify
33 * the spot where this issue was created
34 * @param severity The severity of this issue
35 * @param count The number of blocks I was asked to deal with
36 * @param maxcount The maximum number of blocks I can deal with
37 */
39 size_t maxcount );
40
41 /**
42 * Destructor virtualisation
43 */
44 virtual ~TooBigCountIssue() throw() {}
45
46 /**
47 * The number of blocks I have to deal with
48 */
49 size_t count() const;
50
51 /**
52 * The maximum number of blocks I can deal with
53 */
54 size_t max_count() const;
55 };
56
57} // namespace eformat
58
59/**
60 * Simplifies the use of this Issue
61 *
62 * @param count The number of blocks I was asked to deal with
63 * @param maxcount The maximum number of blocks I can deal with
64 */
65#define EFORMAT_TOO_BIG_COUNT( count, maxcount ) \
66 eformat::TooBigCountIssue( ERS_HERE, ers::error, count, maxcount )
67
68#endif /* EFORMAT_TOOBIGCOUNTISSUE_H */
TooBigCountIssue(const ers::Context &context, ers::severity_t severity, size_t count, size_t maxcount)
Source context for Issue.
severity_t severity() const
severity_t of the issue
enum ers::_severity_t severity_t