DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
class.hpp
Go to the documentation of this file.
1// DUNE DAQ modification notice:
2// This file has been modified from the original ATLAS oks source for the DUNE DAQ project.
3// Fork baseline commit: oks-08-03-04 (2022-04-14).
4// Renamed since fork: yes (from oks/class.h to include/oks/class.hpp).
5
14
15#ifndef OKS_CLASS_H
16#define OKS_CLASS_H
17
18#include "oks/index.hpp"
19#include "oks/exceptions.hpp"
20
21#include <list>
22#include <map>
23#include <mutex>
24#include <shared_mutex>
25#include <string>
26#include <vector>
27
28#include <boost/pool/pool_alloc.hpp>
29
30namespace dunedaq {
31namespace oks {
32
33 // Forward declarations
34
35class OksAttribute;
36class OksClass;
37class OksFile;
38class OksKernel;
39class OksMethod;
40class OksQuery;
42class OksRelationship;
45
46
47
49
51
53
54 public:
55
56 CannotFindSuperClass(const OksClass& c, const std::string& name) noexcept : exception (fill(c, name), 0) { }
57 virtual ~CannotFindSuperClass() noexcept { }
58
59 private:
60
61 static std::string fill(const OksClass& c, const std::string& name) noexcept;
62
63 };
64
66
68
69 public:
70
71 AttributeConversionFailed(const OksAttribute& a, const OksObject * o, const exception& reason) noexcept : exception (fill(a, o, reason.what()), reason.level() + 1) { }
72 virtual ~AttributeConversionFailed() noexcept { }
73
74 private:
75
76 static std::string fill(const OksAttribute& a, const OksObject * o, const std::string& reason) noexcept;
77
78 };
79
81
83
84 public:
85
86 CannotRegisterClass(const OksClass& c, const std::string& what, const exception& reason) noexcept : exception (fill(c, what, reason.what()), reason.level() + 1) { }
87 CannotRegisterClass(const OksClass& c, const std::string& what, const std::string& reason) noexcept : exception (fill(c, what, reason), 0) {}
88 virtual ~CannotRegisterClass() noexcept { }
89
90 private:
91
92 static std::string fill(const OksClass& c, const std::string& what, const std::string& reason) noexcept;
93
94 };
95
96
98
100
101 public:
102
103 CannotDestroyClass(const OksClass& c, const exception& reason) noexcept : exception (fill(c, reason.what()), reason.level() + 1) { }
104 CannotDestroyClass(const OksClass& c, const std::string& reason) noexcept : exception (fill(c, reason), 0) {}
105 virtual ~CannotDestroyClass() noexcept { }
106
107 private:
108
109 static std::string fill(const OksClass& c, const std::string& reason) noexcept;
110
111 };
112
113
115
117
118 public:
119
120 ObjectOperationFailed(const OksClass& c, const std::string& oid, const char * op, const exception& reason) noexcept : exception (fill(c, oid, op, reason.what()), reason.level() + 1) { }
121 ObjectOperationFailed(const OksClass& c, const std::string& oid, const char * op, const std::string& reason) noexcept : exception (fill(c, oid, op, reason), 0) {}
122 virtual ~ObjectOperationFailed() noexcept { }
123
124 private:
125
126 static std::string fill(const OksClass& c, const std::string& oid, const char * op, const std::string& reason) noexcept;
127
128 };
129
130
132
134
135 public:
136
137 SetOperationFailed(const char * op, const exception& reason) noexcept : exception (fill(op, reason.what()), reason.level() + 1) { }
138 SetOperationFailed(const char * op, const std::string& reason) noexcept : exception (fill(op, reason), 0) {}
139 virtual ~SetOperationFailed() noexcept { }
140
141 private:
142
143 static std::string fill(const char * op, const std::string& reason) noexcept;
144
145 };
146
147
149
150 class QueryFailed: public exception {
151
152 public:
153
154 QueryFailed(const OksQueryExpression& query, const OksClass& c, const exception& reason) noexcept : exception (fill(query, c, reason.what()), reason.level() + 1) { }
155 QueryFailed(const OksQueryExpression& query, const OksClass& c, const std::string& reason) noexcept : exception (fill(query, c, reason), 0) {}
156 virtual ~QueryFailed() noexcept { }
157
158 private:
159
160 static std::string fill(const OksQueryExpression& query, const OksClass& c, const std::string& reason) noexcept;
161
162 };
163
164
166
167 class BadReqExp: public exception {
168
169 public:
170
171 BadReqExp(const std::string& what, const std::string& reason) noexcept : exception (fill(what, reason), 0) {}
172 virtual ~BadReqExp() noexcept { }
173
174 private:
175
176 static std::string fill(const std::string& what, const std::string& reason) noexcept;
177
178 };
179
180
203
205{
206 friend class OksObject;
207 friend class OksKernel;
208 friend class OksAttribute;
209 friend class OksRelationship;
210 friend class OksMethod;
212 friend class OksIndex;
213 friend class OksSortedClass;
214
215 public:
216
217#ifndef ERS_NO_DEBUG
218
219 // Declare set of pointers to OksClass sorted by name
220
221 struct SortByName {
222 bool operator() (OksClass * c1, OksClass * c2) const {
223 return c1->get_name() < c2->get_name();
224 }
225 };
226
227 typedef std::set<OksClass *, SortByName> Set;
228
229#endif
230
231 struct SortStr {
232 bool operator() (const char * c1, const char * c2) const {
233 return (strcmp(c1, c2) < 0);
234 }
235 };
236
237
238 typedef std::map<const char * , OksClass *, SortStr> Map;
239
240 typedef std::list<OksClass *, boost::fast_pool_allocator<OksClass *> > FList;
241
242
251
252 OksClass (const std::string& name, OksKernel * kernel, bool transient = false);
253
254
265
266 OksClass (const std::string& name, const std::string& description, bool is_abstract, OksKernel * kernel, bool transient = false);
267
268
278
279 OksClass (OksKernel * kernel, const std::string& name, const std::string& description, bool is_abstract);
280
281
292
293 static void destroy(OksClass * c);
294
295
301
302 bool operator==(const OksClass &) const;
303
310
311 bool operator!=(const OksClass &) const;
312
321
322 friend std::ostream& operator<<(std::ostream&, const OksClass&);
323
324 friend std::ostream& operator<<(std::ostream&, const OksObject&);
325
326
328
329 bool compare_without_methods(const OksClass & c) const noexcept ;
330
331
332 // methods to access class external information
333
334 public:
335
337
338 OksKernel * get_kernel() const noexcept {return p_kernel;}
339
340
342
343 OksFile * get_file() const noexcept {return p_file;}
344
345
358
359 void set_file(OksFile * f, bool update_owner = true);
360
361
362 // methods to access class properties
363
364 public:
365
367
368 const std::string& get_name() const noexcept {return p_name;}
369
370
372
373 const std::string& get_description() const noexcept {return p_description;}
374
375
383
384 void set_description(const std::string& description);
385
386
388
389 bool get_is_abstract() const noexcept {return p_abstract;}
390
391
403
404 void set_is_abstract(bool abstract);
405
406
407 // methods to access class hierarchy description
408
409 public:
410
412
413 const FList * all_super_classes() const noexcept {return p_all_super_classes;}
414
415
417
418 const std::list<std::string *> * direct_super_classes() const noexcept {return p_super_classes;}
419
420
422
423 OksClass * find_super_class(const std::string&) const noexcept;
424
425
427
428 bool has_direct_super_class(const std::string&) const noexcept;
429
430
436
437 void add_super_class(const std::string& name);
438
439
441
442 void k_add_super_class(const std::string& name);
443
444
450
451 void remove_super_class(const std::string& name);
452
453
465
466 void swap_super_classes(const std::string& c1, const std::string& c2);
467
468
470
471 const FList * all_sub_classes() const noexcept {return p_all_sub_classes;}
472
473
474 // methods to access class attributes description
475
476 public:
477
479
480 const std::list<OksAttribute *> * all_attributes() const noexcept {return p_all_attributes;}
481
482
484
485 const std::list<OksAttribute *> * direct_attributes() const noexcept {return p_attributes;}
486
487
496
497 OksAttribute * find_attribute(const std::string& name) const noexcept;
498
499
508
509 OksAttribute * find_direct_attribute(const std::string& name) const noexcept;
510
511
522
523 void add(OksAttribute * a);
524
525
530
531 void k_add(OksAttribute * a);
532
533
544
545 void remove(const OksAttribute * a);
546
547
559
560 void swap(const OksAttribute * a1, const OksAttribute * a2);
561
562
564
565 size_t number_of_direct_attributes() const noexcept;
566
567
569
570 size_t number_of_all_attributes() const noexcept;
571
572
581
582 OksClass * source_class(const OksAttribute * a) const noexcept;
583
584
585 // methods to access class relationships description
586
587
589
590 const std::list<OksRelationship *> * all_relationships() const noexcept {return p_all_relationships;}
591
592
594
595 const std::list<OksRelationship *> * direct_relationships() const noexcept {return p_relationships;}
596
597
606
607 OksRelationship * find_relationship(const std::string& name) const noexcept;
608
609
618
619 OksRelationship * find_direct_relationship(const std::string& name) const noexcept;
620
621
632
633 void add(OksRelationship * r);
634
635
640
641 void k_add(OksRelationship * r);
642
643
655
656 void remove(const OksRelationship * r, bool call_delete = true);
657
658
670
671 void swap(const OksRelationship * r1, const OksRelationship * r2);
672
673
675
676 size_t number_of_direct_relationships() const noexcept;
677
678
680
681 size_t number_of_all_relationships() const noexcept;
682
683
692
693 OksClass * source_class(const OksRelationship * r) const noexcept;
694
695
696 // methods to access class methods description
697
698
699
701
702 const std::list<OksMethod *> * all_methods() const noexcept {return p_all_methods;}
703
704
706
707 const std::list<OksMethod *> * direct_methods() const noexcept {return p_methods;}
708
709
718
719 OksMethod * find_method(const std::string& name) const noexcept;
720
721
730
731 OksMethod * find_direct_method(const std::string& name) const noexcept;
732
733
744
745 void add(OksMethod * m);
746
747
758
759 void remove(const OksMethod * m);
760
761
773
774 void swap(const OksMethod * m1, const OksMethod * m2);
775
776
778
779 size_t number_of_direct_methods() const noexcept;
780
781
783
784 size_t number_of_all_methods() const noexcept;
785
786
795
796 OksClass * source_class(const OksMethod * m) const noexcept;
797
798
799 // methods to access class instances
800
801
803
804 size_t number_of_objects() const noexcept;
805
806
808
809 const OksObject::Map * objects() const noexcept {return p_objects;}
810
811
820
821 std::list<OksObject *> * create_list_of_all_objects() const noexcept;
822
823
831
832 OksObject * get_object(const std::string& id) const noexcept;
833
834
836
837 OksObject * get_object(const std::string* id) const noexcept {return get_object(*id);}
838
839
851
852 OksObject::List * execute_query(OksQuery * query) const;
853
854
864
865 OksDataInfo * data_info(const std::string &s) const noexcept {return p_data_info->find(s)->second;}
866
867
877
879 get_data_info(const std::string &s) const noexcept
880 {
881 auto it = p_data_info->find(s);
882 return (it != p_data_info->end() ? it->second : nullptr);
883 }
884
885
893
924
925
927
928 typedef void (*NotifyFN)(OksClass *);
929
930
932
933 typedef void (*ChangeNotifyFN)(OksClass *, ChangeType, const void *);
934
935
936 private:
937
938 std::string p_name;
939 std::string p_description;
940 std::list<std::string *> * p_super_classes;
941 std::list<OksAttribute *> * p_attributes;
942 std::list<OksRelationship *> * p_relationships;
943 std::list<OksMethod *> * p_methods;
947
950 std::list<OksAttribute *> * p_all_attributes;
951 std::list<OksRelationship *> * p_all_relationships;
952 std::list<OksMethod *> * p_all_methods;
953
954 std::vector<OksClass *> * p_inheritance_hierarchy;
955 unsigned int p_id;
956
959
961
965
966 mutable std::shared_mutex p_mutex;
967 mutable std::mutex p_unique_id_mutex;
968
969
970
974
975
976
977 // to be used by OksKernel only
978
979 ~OksClass();
981
982 template<class T> static void destroy_map(T map);
983 template<class T> static void destroy_list(T list);
984
985 // transient class for OksKernel::find_class()
986
987 inline OksClass (const char * name, size_t len);
988
989 void save(OksXmlOutputStream &) const;
990
991 void add(OksObject *);
992 void remove(OksObject *);
993 void registrate_class(bool skip_registered);
994 void registrate_class_change(ChangeType, const void *, bool = true);
998
999 void add_super_classes(FList *) const;
1000 void create_super_classes();
1001 void create_sub_classes();
1002 void create_attributes();
1003 void create_relationships();
1004 void create_methods();
1005
1006 void lock_file(const char *);
1007
1008 bool check_relationships(std::ostringstream & out, bool print_file_name) const noexcept;
1009
1010
1011 // valid xml tags and attributes
1012
1013 static const char class_xml_tag[];
1014 static const char name_xml_attr[];
1015 static const char description_xml_attr[];
1016 static const char is_abstract_xml_attr[];
1017 static const char superclass_xml_attr[];
1018
1019};
1020
1021
1022 //
1023 // INLINE METHODS
1024 //
1025
1026inline bool
1028{
1029 return ((this == &c || p_name == c.p_name) ? true : false);
1030}
1031
1032
1033inline size_t
1035{
1036 return (p_attributes ? p_attributes->size() : 0);
1037}
1038
1039
1040inline size_t
1042{
1043 return (p_all_attributes ? p_all_attributes->size() : 0);
1044}
1045
1046
1047inline size_t
1049{
1050 return (p_relationships ? p_relationships->size() : 0);
1051}
1052
1053
1054inline size_t
1056{
1057 return (p_all_relationships ? p_all_relationships->size() : 0);
1058}
1059
1060
1061inline size_t
1063{
1064 return (p_methods ? p_methods->size() : 0);
1065}
1066
1067
1068inline size_t
1070{
1071 return (p_all_methods ? p_all_methods->size() : 0);
1072}
1073
1074inline
1075OksClass::OksClass (const char * name, size_t len) :
1076 p_name (name, len),
1077 p_super_classes (0),
1078 p_attributes (0),
1079 p_relationships (0),
1080 p_methods (0),
1081 p_abstract (false),
1082 p_transient (true),
1083 p_to_be_deleted (false),
1086 p_all_attributes (0),
1088 p_all_methods (0),
1090 p_kernel (0),
1091 p_instance_size (0),
1092 p_data_info (0),
1093 p_objects (0),
1094 p_indices (0)
1095{ ; }
1096
1097} // namespace oks
1098} // namespace dunedaq
1099#endif
static std::string fill(const OksAttribute &a, const OksObject *o, const std::string &reason) noexcept
Definition class.cpp:48
AttributeConversionFailed(const OksAttribute &a, const OksObject *o, const exception &reason) noexcept
Definition class.hpp:71
virtual ~AttributeConversionFailed() noexcept
Definition class.hpp:72
BadReqExp(const std::string &what, const std::string &reason) noexcept
Definition class.hpp:171
virtual ~BadReqExp() noexcept
Definition class.hpp:172
static std::string fill(const std::string &what, const std::string &reason) noexcept
Definition query.cpp:50
CannotDestroyClass(const OksClass &c, const exception &reason) noexcept
Definition class.hpp:103
CannotDestroyClass(const OksClass &c, const std::string &reason) noexcept
Definition class.hpp:104
static std::string fill(const OksClass &c, const std::string &reason) noexcept
Definition class.cpp:62
virtual ~CannotDestroyClass() noexcept
Definition class.hpp:105
static std::string fill(const OksClass &c, const std::string &name) noexcept
Definition class.cpp:42
virtual ~CannotFindSuperClass() noexcept
Definition class.hpp:57
CannotFindSuperClass(const OksClass &c, const std::string &name) noexcept
Definition class.hpp:56
virtual ~CannotRegisterClass() noexcept
Definition class.hpp:88
static std::string fill(const OksClass &c, const std::string &what, const std::string &reason) noexcept
Definition class.cpp:56
CannotRegisterClass(const OksClass &c, const std::string &what, const std::string &reason) noexcept
Definition class.hpp:87
CannotRegisterClass(const OksClass &c, const std::string &what, const exception &reason) noexcept
Definition class.hpp:86
static std::string fill(const OksClass &c, const std::string &oid, const char *op, const std::string &reason) noexcept
Definition class.cpp:68
ObjectOperationFailed(const OksClass &c, const std::string &oid, const char *op, const std::string &reason) noexcept
Definition class.hpp:121
ObjectOperationFailed(const OksClass &c, const std::string &oid, const char *op, const exception &reason) noexcept
Definition class.hpp:120
virtual ~ObjectOperationFailed() noexcept
Definition class.hpp:122
OKS attribute class.
The OKS class.
Definition class.hpp:205
OksKernel * p_kernel
Definition class.hpp:958
friend class OksMethod
Definition class.hpp:210
bool get_is_abstract() const noexcept
Definition class.hpp:389
const OksObject::Map * objects() const noexcept
Definition class.hpp:809
OksDataInfo * get_data_info(const std::string &s) const noexcept
Get OKS data information for attribute or relationship.
Definition class.hpp:879
const FList * all_sub_classes() const noexcept
Definition class.hpp:471
OksRelationship * find_direct_relationship(const std::string &name) const noexcept
Find direct relationship.
Definition class.cpp:1178
std::list< std::string * > * p_super_classes
Definition class.hpp:940
bool operator==(const OksClass &) const
The equality operator.
Definition class.hpp:1027
size_t number_of_objects() const noexcept
Definition class.cpp:1479
void set_file(OksFile *f, bool update_owner=true)
Move class to different file.
Definition class.cpp:291
bool check_relationships(std::ostringstream &out, bool print_file_name) const noexcept
Definition class.cpp:2124
OksObject::Map * p_objects
Definition class.hpp:963
static const char superclass_xml_attr[]
Definition class.hpp:1017
OksClass * find_super_class(const std::string &) const noexcept
Definition class.cpp:747
OksAttribute * find_direct_attribute(const std::string &name) const noexcept
Find direct attribute.
Definition class.cpp:1019
void(* NotifyFN)(OksClass *)
Definition class.hpp:928
void add_super_class(const std::string &name)
Definition class.cpp:883
void(* ChangeNotifyFN)(OksClass *, ChangeType, const void *)
Definition class.hpp:933
unsigned int p_id
Definition class.hpp:955
size_t number_of_direct_attributes() const noexcept
Definition class.hpp:1034
friend class OksAttribute
Definition class.hpp:208
static void destroy_list(T list)
Definition class.cpp:203
OksMethod * find_method(const std::string &name) const noexcept
Find method (search in this and base classes).
Definition class.cpp:1346
size_t number_of_direct_relationships() const noexcept
Definition class.hpp:1048
std::list< OksMethod * > * p_methods
Definition class.hpp:943
const std::list< OksMethod * > * all_methods() const noexcept
Definition class.hpp:702
void registrate_class(bool skip_registered)
Definition class.cpp:2009
size_t number_of_direct_methods() const noexcept
Definition class.hpp:1062
FList * p_all_sub_classes
Definition class.hpp:949
const std::list< OksAttribute * > * all_attributes() const noexcept
Definition class.hpp:480
std::list< OksRelationship * > * p_relationships
Definition class.hpp:942
OksObject * get_object(const std::string *id) const noexcept
Definition class.hpp:837
static NotifyFN create_notify_fn
Definition class.hpp:971
friend class OksIndex
Definition class.hpp:212
static void destroy_map(T map)
Definition class.cpp:216
std::list< OksAttribute * > * p_attributes
Definition class.hpp:941
void add_super_classes(FList *) const
Definition class.cpp:1580
friend class OksSortedClass
Definition class.hpp:213
std::string p_description
Definition class.hpp:939
std::list< OksRelationship * > * p_all_relationships
Definition class.hpp:951
static const char class_xml_tag[]
Definition class.hpp:1013
size_t number_of_all_methods() const noexcept
Definition class.hpp:1069
size_t number_of_all_relationships() const noexcept
Definition class.hpp:1055
bool operator!=(const OksClass &) const
The not equal operator.
Definition class.cpp:367
OksRelationship * find_relationship(const std::string &name) const noexcept
Find relationship (search in this and base classes).
Definition class.cpp:1189
std::mutex p_unique_id_mutex
Definition class.hpp:967
friend class OksRelationship
Definition class.hpp:209
static const char description_xml_attr[]
Definition class.hpp:1015
std::list< OksMethod * > * p_all_methods
Definition class.hpp:952
void swap(const OksAttribute *a1, const OksAttribute *a2)
Swap order of two attributes.
Definition class.cpp:1083
void registrate_class_change(ChangeType, const void *, bool=true)
Definition class.cpp:2040
friend class OksKernel
Definition class.hpp:207
std::list< OksClass *, boost::fast_pool_allocator< OksClass * > > FList
Definition class.hpp:240
void add(OksAttribute *a)
Add attribute.
Definition class.cpp:1057
void swap_super_classes(const std::string &c1, const std::string &c2)
Swap order of two superclasses.
Definition class.cpp:967
std::vector< OksClass * > * p_inheritance_hierarchy
Definition class.hpp:954
void registrate_relationship_change(OksRelationship *)
Definition class.cpp:1871
OksKernel * get_kernel() const noexcept
Definition class.hpp:338
void save(OksXmlOutputStream &) const
Definition class.cpp:463
void set_is_abstract(bool abstract)
Set class abstract property.
Definition class.cpp:803
OksIndex::Map * p_indices
Definition class.hpp:964
static NotifyFN delete_notify_fn
Definition class.hpp:973
static const char is_abstract_xml_attr[]
Definition class.hpp:1016
void remove_super_class(const std::string &name)
Definition class.cpp:932
const std::string & get_name() const noexcept
Definition class.hpp:368
OksAttribute * find_attribute(const std::string &name) const noexcept
Find attribute (search in this and base classes).
Definition class.cpp:1031
std::string p_name
Definition class.hpp:938
const FList * all_super_classes() const noexcept
Definition class.hpp:413
const std::list< OksRelationship * > * direct_relationships() const noexcept
Definition class.hpp:595
size_t number_of_all_attributes() const noexcept
Definition class.hpp:1041
void remove(const OksAttribute *a)
Remove attribute.
Definition class.cpp:1130
static ChangeNotifyFN change_notify_fn
Definition class.hpp:972
friend class OksMethodImplementation
Definition class.hpp:211
void set_description(const std::string &description)
Set class description.
Definition class.cpp:785
std::shared_mutex p_mutex
Definition class.hpp:966
OksClass * source_class(const OksAttribute *a) const noexcept
Get class owning given attribute.
Definition class.cpp:1167
const std::string & get_description() const noexcept
Definition class.hpp:373
static const char name_xml_attr[]
Definition class.hpp:1014
bool compare_without_methods(const OksClass &c) const noexcept
Definition class.cpp:313
OksClass(const std::string &name, OksKernel *kernel, bool transient=false)
Create OKS class.
Definition class.cpp:80
friend class OksObject
Definition class.hpp:206
const std::list< OksMethod * > * direct_methods() const noexcept
Definition class.hpp:707
OksObject * get_object(const std::string &id) const noexcept
Get object by ID.
Definition class.cpp:1526
OksDataInfo * data_info(const std::string &s) const noexcept
Get OKS data information for attribute or relationship.
Definition class.hpp:865
void k_add(OksAttribute *a)
Kernel method to add attribute.
Definition class.cpp:1045
std::list< OksAttribute * > * p_all_attributes
Definition class.hpp:950
void registrate_attribute_change(OksAttribute *)
Definition class.cpp:1834
std::map< const char *, OksClass *, SortStr > Map
Definition class.hpp:238
std::list< OksObject * > * create_list_of_all_objects() const noexcept
Get all objects of the class (including derived).
Definition class.cpp:1491
OksDataInfo::Map * p_data_info
Definition class.hpp:962
const std::list< OksAttribute * > * direct_attributes() const noexcept
Definition class.hpp:485
void lock_file(const char *)
Definition class.cpp:771
OksFile * get_file() const noexcept
Definition class.hpp:343
OksObject::List * execute_query(OksQuery *query) const
Execute query.
Definition query.cpp:436
const std::list< std::string * > * direct_super_classes() const noexcept
Definition class.hpp:418
void k_add_super_class(const std::string &name)
Definition class.cpp:872
static void destroy(OksClass *c)
Destroy OKS class.
Definition class.cpp:176
std::set< OksClass *, SortByName > Set
Definition class.hpp:227
OksMethod * find_direct_method(const std::string &name) const noexcept
Find direct method.
Definition class.cpp:1335
ChangeType
Information about class property changes.
Definition class.hpp:894
@ ChangeAttributeMultiValueCardinality
Definition class.hpp:905
friend std::ostream & operator<<(std::ostream &, const OksClass &)
Stream operator.
Definition class.cpp:391
bool has_direct_super_class(const std::string &) const noexcept
Definition class.cpp:759
const std::list< OksRelationship * > * all_relationships() const noexcept
Definition class.hpp:590
FList * p_all_super_classes
Definition class.hpp:948
Provides interface to the OKS XML schema and data files.
Definition file.hpp:345
std::map< const OksAttribute *, OksIndex *, SortByName > Map
Definition index.hpp:50
Provides interface to the OKS kernel.
Definition kernel.hpp:582
OKS method class.
Definition method.hpp:158
OksObject describes instance of OksClass.
Definition object.hpp:841
std::list< OksObject * > List
Definition object.hpp:880
std::unordered_map< const std::string *, OksObject *, oks::hash_str, oks::equal_str > Map
Definition object.hpp:870
OKS query expression class.
Definition query.hpp:112
OKS query class.
Definition query.hpp:41
static std::string fill(const OksQueryExpression &query, const OksClass &c, const std::string &reason) noexcept
Definition query.cpp:42
QueryFailed(const OksQueryExpression &query, const OksClass &c, const exception &reason) noexcept
Definition class.hpp:154
virtual ~QueryFailed() noexcept
Definition class.hpp:156
QueryFailed(const OksQueryExpression &query, const OksClass &c, const std::string &reason) noexcept
Definition class.hpp:155
virtual ~SetOperationFailed() noexcept
Definition class.hpp:139
SetOperationFailed(const char *op, const exception &reason) noexcept
Definition class.hpp:137
static std::string fill(const char *op, const std::string &reason) noexcept
Definition class.cpp:74
SetOperationFailed(const char *op, const std::string &reason) noexcept
Definition class.hpp:138
virtual const char * what() const noexcept
exception(const std::string &what_arg, int level_arg) noexcept
Definition xml.cpp:42
caught dunedaq::conffwk::Exception exception
Including Qt Headers.
Definition module.cpp:16
FELIX Initialization std::string initerror FELIX queue timed out
bool operator()(OksClass *c1, OksClass *c2) const
Definition class.hpp:222
bool operator()(const char *c1, const char *c2) const
Definition class.hpp:232
Struct OKS data information.
Definition object.hpp:347
std::map< std::string, OksDataInfo * > Map
Declare map of pointers to OksDataInfo (unsorted by name).
Definition object.hpp:351