/** * \file rmf/operations.h * \brief Handle read/write of Model data from/to files. * * Copyright 2007-2011 IMP Inventors. All rights reserved. * */ #ifndef RMF_OPERATIONS_H #define RMF_OPERATIONS_H #include "NodeHandle.h" #include "RootHandle.h" #include "hdf5_types.h" namespace rmf { /** Get the requested key, adding it to the file if necessary. */ template inline Key get_or_add_key(RootHandle f, KeyCategory category_id, std::string name, bool per_frame=false) { if (f.get_has_key(category_id, name)) { return f.get_key(category_id, name); } else { return f.add_key(category_id, name, per_frame); } } } #endif /* RMF_OPERATIONS_H */