BusBoy  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MetadataList.h
Go to the documentation of this file.
1 
17 #ifndef __BUSBOY_METADATA_LIST_H__
18 #define __BUSBOY_METADATA_LIST_H__
19 
20 #include "MetadataElement.h"
21 
22 namespace BUSBOY {
23 
24 class MetadataListImpl;
25 
30 class MetadataList : public MetadataElement {
31 
32  public:
33 
34  MetadataList();
35 
41  void addElement(const CloneableMetadataElement& element);
42 
49  void addElement(MetadataElement* element);
50 
54  MetadataElement* getElement(size_t index) const;
55 
56  size_t getSize() const;
57 
59 
60  bool operator==(const MetadataList& list) const;
61 
62  bool operator==(const MetadataElement& element) const;
63 
64  bool operator!=(const MetadataList& list) const;
65 
66  bool operator!=(const MetadataElement& element) const;
67 
68  ~MetadataList();
69 
70  static const MetadataList* castToList(const MetadataElement* element);
71 
72  static MetadataList* castToList(MetadataElement* element);
73 
74  static const MetadataList& castToList(const MetadataElement& element);
75 
76  static MetadataList& castToList(MetadataElement& element);
77 
78 
79  private:
80 
81  MetadataListImpl* m_impl;
82 
83  // prevent calling these
84  MetadataList(const MetadataList& list);
85  MetadataList& operator=(const MetadataList& list);
86 
87 
88 };
89 
90 }
91 #endif
92 

Copyright 2014 Google Inc. All rights reserved.