IMP  2.1.1
The Integrative Modeling Platform
kernel/score_state_macros.h
Go to the documentation of this file.
1 /**
2  * \file IMP/kernel/score_state_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_SCORE_STATE_MACROS_H
10 #define IMPKERNEL_SCORE_STATE_MACROS_H
11 #include <IMP/kernel/kernel_config.h>
12 #include <IMP/base/value_macros.h>
13 #include "ScoreState.h"
14 #include "container_base.h"
15 #include "input_output_macros.h"
16 
17 //! \deprecated_at{2.1} Declare the needed functions directly
18 #define IMP_SCORE_STATE(Name) \
19  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the needed functions directly."); \
20  \
21  protected: \
22  virtual void do_before_evaluate() IMP_OVERRIDE; \
23  virtual void do_after_evaluate(DerivativeAccumulator *da) IMP_OVERRIDE; \
24  IMP_MODEL_OBJECT_BACKWARDS_MACRO_INPUTS; \
25  IMP_MODEL_OBJECT_BACKWARDS_MACRO_OUTPUTS; \
26  IMP_OBJECT_NO_WARNING(Name)
27 
28 //! \deprecated_at{2.1} Declare the needed functions directly
29 #define IMP_CONSTRAINT(Name) \
30  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the needed functions directly."); \
31  \
32  protected: \
33  virtual void do_update_attributes() IMP_OVERRIDE; \
34  virtual void do_update_derivatives(DerivativeAccumulator *da) IMP_OVERRIDE; \
35  IMP_MODEL_OBJECT_BACKWARDS_MACRO_INPUTS; \
36  IMP_MODEL_OBJECT_BACKWARDS_MACRO_OUTPUTS; \
37  IMP_OBJECT_NO_WARNING(Name)
38 
39 //! \deprecated_at{2.1} Declare the needed functions directly
40 #define IMP_SCORE_STATE_2(Name) \
41  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the needed functions directly."); \
42  \
43  protected: \
44  virtual void do_before_evaluate() IMP_OVERRIDE; \
45  virtual void do_after_evaluate(DerivativeAccumulator *da) IMP_OVERRIDE; \
46  virtual ModelObjectsTemp do_get_inputs() const IMP_OVERRIDE; \
47  virtual ModelObjectsTemp do_get_outputs() const IMP_OVERRIDE; \
48  IMP_OBJECT_NO_WARNING(Name)
49 
50 //! \deprecated_at{2.1} Declare the needed functions directly
51 #define IMP_CONSTRAINT_2(Name) \
52  IMPKERNEL_DEPRECATED_MACRO(2.1, "Declare the needed functions directly."); \
53  \
54  protected: \
55  void do_update_attributes(); \
56  void do_update_derivatives(DerivativeAccumulator *da); \
57  virtual ModelObjectsTemp do_get_inputs() const; \
58  virtual ModelObjectsTemp do_get_outputs() const; \
59  IMP_OBJECT_NO_WARNING(Name)
60 
61 #endif /* IMPKERNEL_SCORE_STATE_MACROS_H */
Abstract base class for containers of particles.
macros for inputs and outputs.
Shared score state.
Various general useful macros for IMP.