29 #ifndef CDPL_BIOMOL_MMCIFDATA_HPP
30 #define CDPL_BIOMOL_MMCIFDATA_HPP
37 #include <boost/ptr_container/ptr_vector.hpp>
38 #include <boost/ptr_container/ptr_deque.hpp>
62 typedef std::vector<std::string> ValueList;
68 Item(
const std::string& name):
77 const std::string&
getValue(std::size_t index)
const;
79 void setValue(std::size_t index,
const std::string& value);
80 void setValue(std::size_t index, std::string&& value);
115 typedef boost::ptr_vector<Item> ItemList;
122 name(name), numRows(0) {}
181 typedef boost::ptr_deque<Category> CategoryList;
247 CategoryList categories;
Definition of the preprocessor macro CDPL_BIOMOL_API.
#define CDPL_BIOMOL_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition: MMCIFData.hpp:113
ConstItemIterator getItemsBegin() const
const Item & getItem(const std::string &name) const
ConstItemIterator end() const
std::size_t getNumItems() const
Item * findItem(const std::string &name)
bool removeItem(const std::string &name)
std::size_t getNumValueRows() const
ItemIterator getItemsEnd()
Item & getItem(std::size_t index)
Item & getItem(const std::string &name)
ItemList::const_iterator ConstItemIterator
Definition: MMCIFData.hpp:118
ConstItemIterator begin() const
ConstItemIterator getItemsEnd() const
ItemIterator removeItem(const ItemIterator &it)
ItemIterator getItemsBegin()
const std::string & getName() const
ItemList::iterator ItemIterator
Definition: MMCIFData.hpp:119
void removeItem(std::size_t index)
Category(const std::string &name)
Definition: MMCIFData.hpp:121
const Item & getItem(std::size_t index) const
const Item * findItem(const std::string &name) const
Item & addItem(const std::string &name)
Definition: MMCIFData.hpp:60
ValueIterator removeValue(const ValueIterator &it)
ConstValueIterator getValuesEnd() const
void addValue(const std::string &value)
ValueList::const_iterator ConstValueIterator
Definition: MMCIFData.hpp:65
Item(const std::string &name)
Definition: MMCIFData.hpp:68
std::size_t getNumValues() const
void setValue(std::size_t index, std::string &&value)
ValueList::iterator ValueIterator
Definition: MMCIFData.hpp:66
ConstValueIterator end() const
void setValue(std::size_t index, const std::string &value)
ConstValueIterator getValuesBegin() const
ValueIterator getValuesBegin()
ValueIterator getValuesEnd()
const std::string & getName() const
ConstValueIterator begin() const
void removeValue(std::size_t index)
const std::string & getValue(std::size_t index) const
void addValue(std::string &&value)
A data structure for the storage of imported MMCIF data (see [MMCIF]).
Definition: MMCIFData.hpp:54
Category & addCategory(const std::string &name, bool front=false)
std::shared_ptr< MMCIFData > SharedPointer
Definition: MMCIFData.hpp:57
const Category & getCategory(std::size_t index) const
const std::string & getID() const
void setID(const std::string &id)
const Category * findCategory(const std::string &name) const
Category & getCategory(const std::string &name)
Category * findCategory(const std::string &name)
std::size_t getNumCategories() const
CategoryIterator removeCategory(const CategoryIterator &it)
const Category & getCategory(const std::string &name) const
CategoryIterator getCategoriesBegin()
bool removeCategory(const std::string &name)
CategoryList::const_iterator ConstCategoryIterator
Definition: MMCIFData.hpp:184
Category & lastCategory()
CategoryList::iterator CategoryIterator
Definition: MMCIFData.hpp:185
ConstCategoryIterator getCategoriesBegin() const
void swap(MMCIFData &data)
CategoryIterator getCategoriesEnd()
Category & getCategory(std::size_t index)
MMCIFData(const std::string &id)
const Category & lastCategory() const
ConstCategoryIterator getCategoriesEnd() const
ConstCategoryIterator end() const
ConstCategoryIterator begin() const
void removeCategory(std::size_t index)
CDPL_BIOMOL_API std::ostream & operator<<(std::ostream &os, const MMCIFData &data)
The namespace of the Chemical Data Processing Library.