IMP logo
Namespaces | Macros
infrastructure_macros.h File Reference

Various general useful macros for IMP. More...

+ Include dependency graph for infrastructure_macros.h:

Go to the source code of this file.

Namespaces

namespace  RMF
 This module provides RMF I/O.

Macros

#define IMP_HDF5_CALL(v)
#define IMP_HDF5_HANDLE(name, cmd, cleanup)   RMF::HDF5Handle name(cmd, cleanup, #cmd)
#define IMP_HDF5_NEW_HANDLE(name, cmd, cleanup)
#define IMP_RMF_BEGIN_FILE   try {
#define IMP_RMF_BEGIN_OPERATION   try {
#define IMP_RMF_END_FILE(name)
#define IMP_RMF_END_OPERATION(name)
#define IMP_RMF_FILE(op, name)
#define IMP_RMF_FILE_OPERATION(op, name, opname)
#define IMP_RMF_FOREACH_SIMPLE_TYPE(macroname)
#define IMP_RMF_FOREACH_TYPE(macroname)
#define IMP_RMF_FUNCTION   __func__
#define IMP_RMF_GRAPH(Name, type, VertexName, EdgeName)
 Define a graph object in IMP.
#define IMP_RMF_HASHABLE(name, hashret)
 Implement a hash function for the class.
#define IMP_RMF_IF_CHECK   if (true)
#define IMP_RMF_INTERNAL_CHECK(check, message)
#define IMP_RMF_NOT_IMPLEMENTED
#define IMP_RMF_OPERATION(op, name)
#define IMP_RMF_PATH_CHECK(path, context)
#define IMP_RMF_SHOWABLE(Name, streamed)
#define IMP_RMF_SIMPLE_TRAITS(UCName, UCNames, lcname, index, hdf5_disk, hdf5_memory, hdf5_fill, null_value)
#define IMP_RMF_THROW(m, e)   RMF::internal::handle_error<e>(m)
#define IMP_RMF_TRAITS(UCName, UCNames, lcname, index, hdf5_disk, hdf5_memory, hdf5_fill, null_value,wv_ds, rv_ds, wvs_ds, rvs_ds, wvs_a, rvs_a)
#define IMP_RMF_TRAITS_ONE(UCName, UCNames, lcname, index, hdf5_disk, hdf5_memory, hdf5_fill, null_value,wv_ds, rv_ds, wvs_ds, rvs_ds, wvs_a, rvs_a)
#define IMP_RMF_UNUSED(variable)   if (0) std::cout << variable;
#define IMP_RMF_USAGE_CHECK(check, message)
#define IMP_RMF_VALIDATOR(Type)   RMF::Registrar<Type> Type##Reg(#Type);

Detailed Description

Various general useful macros for IMP.

Copyright 2007-2012 IMP Inventors. All rights reserved.


Macro Definition Documentation

#define IMP_HDF5_CALL (   v)

Call a function and throw an exception if the return values is bad

#define IMP_HDF5_NEW_HANDLE (   name,
  cmd,
  cleanup 
)
Value:
boost::intrusive_ptr<RMF::HDF5SharedHandle> name \
= new RMF::HDF5SharedHandle(cmd, cleanup, #cmd)

Create new HDF5 SharedData.handle.

#define IMP_RMF_COMPARISONS (   Name)

Implement comparison in a class using field as the variable to compare.

Parameters:
[in]Namethe name of the class
#define IMP_RMF_FILE (   op,
  name 
)
Value:
IMP_RMF_BEGIN_FILE \
op; \
IMP_RMF_END_FILE(name)
#define IMP_RMF_FOREACH_SIMPLE_TYPE (   macroname)

Apply the macro to each supported constant size type (eg int as opposed to string).

See also:
IMP_RMF_FOREACH_TYPE()
#define IMP_RMF_FOREACH_TYPE (   macroname)
Value:
macroname(type, Type, Type, Types, \
const Types &, Types);
#define IMP_RMF_GRAPH (   Name,
  type,
  VertexName,
  EdgeName 
)
Value:
/** See \ref graphs "Graphs" for more information.*/ \
typedef boost::graph Name

Define a graph object in IMP.

The docs for the graph should appear before the macro invocation.

#define IMP_RMF_HASHABLE (   name,
  hashret 
)

Implement a hash function for the class.

#define IMP_RMF_OPERATION (   op,
  name 
)
Value:
IMP_RMF_BEGIN_OPERATION \
op; \
IMP_RMF_END_OPERATION(name)
#define IMP_RMF_SIMPLE_TRAITS (   UCName,
  UCNames,
  lcname,
  index,
  hdf5_disk,
  hdf5_memory,
  hdf5_fill,
  null_value 
)

Declare a type traits

#define IMP_RMF_TRAITS (   UCName,
  UCNames,
  lcname,
  index,
  hdf5_disk,
  hdf5_memory,
  hdf5_fill,
  null_value,
  wv_ds,
  rv_ds,
  wvs_ds,
  rvs_ds,
  wvs_a,
  rvs_a 
)

Declare a type traits

#define IMP_RMF_VALIDATOR (   Type)    RMF::Registrar<Type> Type##Reg(#Type);

Register a validator function. See Validator for more information.


Generated on Tue May 22 2012 23:33:18 for IMP by doxygen 1.8.1