IMP  2.0.1
The Integrative Modeling Platform
distance_pair_score_macros.h
Go to the documentation of this file.
1 /**
2  * \file IMP/score_functor/distance_pair_score_macros.h
3  * \brief Various important macros
4  * for implementing decorators.
5  *
6  * Copyright 2007-2013 IMP Inventors. All rights reserved.
7  *
8  */
9 
10 #ifndef IMPSCORE_FUNCTOR_DISTANCE_PAIR_SCORE_MACROS_H
11 #define IMPSCORE_FUNCTOR_DISTANCE_PAIR_SCORE_MACROS_H
12 
13 #include "DistancePairScore.h"
14 
15 #if defined(SWIG) || defined(IMP_DOXYGEN)
16 #define IMP_FUNCTOR_DISTANCE_PAIR_SCORE(Name, Functor, Args, PassArgs) \
17  class Name: public IMP::PairScore { \
18  typedef IMP::score_functor::DistancePairScore<Functor> P; \
19  public: \
20  Name Args; \
21  IMP_PAIR_SCORE(Name); \
22  }
23 
24 #else
25 #define IMP_FUNCTOR_DISTANCE_PAIR_SCORE(Name, Functor, Args, PassArgs) \
26  class Name: public IMP::score_functor::DistancePairScore<Functor> { \
27  typedef IMP::score_functor::DistancePairScore<Functor> P; \
28  public: \
29  Name Args: P(Functor PassArgs, name){} \
30  }
31 #endif
32 
33 #endif /* IMPSCORE_FUNCTOR_DISTANCE_PAIR_SCORE_MACROS_H */