IMP  2.1.1
The Integrative Modeling Platform
kernel/restraint_macros.h
Go to the documentation of this file.
1 /**
2  * \file IMP/kernel/restraint_macros.h
3  * \brief Various general useful macros for IMP.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPKERNEL_RESTRAINT_MACROS_H
10 #define IMPKERNEL_RESTRAINT_MACROS_H
11 #include <IMP/kernel/kernel_config.h>
14 #include "internal/scoring_functions.h"
15 #include "container_base.h"
16 #include "input_output_macros.h"
17 #include "constants.h"
18 
19 /** \deprecated_at{2.1} Declare the methods yourself instead.
20 */
21 #define IMP_RESTRAINT(Name) \
22  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the methods yourself"); \
23  \
24  public: \
25  double unprotected_evaluate(IMP::kernel::DerivativeAccumulator *accum) const \
26  IMP_OVERRIDE; \
27  IMP_MODEL_OBJECT_BACKWARDS_MACRO_INPUTS; \
28  IMP_OBJECT_NO_WARNING(Name)
29 
30 /** \deprecated_at{2.1} Declare the methods yourself instead.
31  */
32 #define IMP_RESTRAINT_2(Name) \
33  public: \
34  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the methods yourself"); \
35  virtual double unprotected_evaluate( \
36  IMP::kernel::DerivativeAccumulator *accum) const IMP_OVERRIDE; \
37  virtual IMP::kernel::ModelObjectsTemp do_get_inputs() const IMP_OVERRIDE; \
38  IMP_OBJECT_NO_WARNING(Name)
39 
40 /** \deprecated_at{2.1} Declare the methods yourself instead.
41  */
42 #define IMP_RESTRAINT_ACCUMULATOR(Name) \
43  public: \
44  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the methods yourself"); \
45  void do_add_score_and_derivatives(IMP::kernel::ScoreAccumulator sa) const; \
46  IMP::kernel::ModelObjectsTemp do_get_inputs() const; \
47  IMP_OBJECT_NO_WARNING(Name)
48 
49 #endif /* IMPKERNEL_RESTRAINT_MACROS_H */
Abstract base class for containers of particles.
Various general useful macros for IMP.
Control display of deprecation information.
macros for inputs and outputs.
Various useful constants.