IMP logo
Macros
quad_macros.h File Reference

Macros for various classes. More...

+ Include dependency graph for quad_macros.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IMP_ACTIVE_QUAD_CONTAINER(Name)   IMP_QUAD_CONTAINER(name)
 Declare the needed functions for an active QuadContainer.
#define IMP_COMPOSITE_QUAD_SCORE(Name)
 Declare the functions needed for a complex QuadScore.
#define IMP_FOREACH_QUAD(sequence, operation)
#define IMP_FOREACH_QUAD_INDEX(sequence, operation)
#define IMP_IMPLEMENT_QUAD_CONTAINER_OPERATIONS(Name, LOOP)
#define IMP_INDEX_QUAD_DERIVATIVE_MODIFIER(Name)
 Declare the functions needed for a QuadModifier.
#define IMP_INDEX_QUAD_MODIFIER(Name)
 Declare the functions needed for a QuadModifier.
#define IMP_INDEX_QUAD_PREDICATE(Name, gv)
 Declare the functions needed for a QuadPredicate.
#define IMP_INDEX_QUAD_SCORE(Name)
 Declare the functions needed for a complex QuadScore.
#define IMP_QUAD_CONTAINER(Name)
 Declare the needed functions for a QuadContainer.
#define IMP_QUAD_DERIVATIVE_MODIFIER(Name)
 Declare the functions needed for a QuadModifier.
#define IMP_QUAD_MODIFIER(Name)
 Declare the functions needed for a QuadModifier.
#define IMP_QUAD_PREDICATE(Name)
 Declare the functions needed for a QuadPredicate.
#define IMP_QUAD_SCORE(Name)
 Declare the functions needed for a QuadScore.
#define IMP_QUAD_SCORE_BASE(Name)
#define IMP_SIMPLE_QUAD_SCORE(Name)
 Declare the functions needed for a QuadScore.

Detailed Description

Macros for various classes.

This file is generated by a script (core/tools/make-containers). Do not edit directly.

Copyright 2007-2012 IMP Inventors. All rights reserved.


Macro Definition Documentation

#define IMP_ACTIVE_QUAD_CONTAINER (   Name)    IMP_QUAD_CONTAINER(name)

Declare the needed functions for an active QuadContainer.

In addition to the methods of IMP_QUAD_CONTAINER(), it declares

  • IMP::ScoreState::get_input_particles()
  • IMP::ScoreState::get_input_containers()
  • IMP::ScoreState::do_before_evaluate()
#define IMP_COMPOSITE_QUAD_SCORE (   Name)

Declare the functions needed for a complex QuadScore.

In addition to the methods done by IMP_OBJECT(), it declares

#define IMP_FOREACH_QUAD (   sequence,
  operation 
)

These macros avoid various inefficiencies.

The macros take the name of the sequence and the operation to peform. The item in the sequence is called _1, it's index is _2. Use it like

IMP_FOREACH_PARTICLE(sc, std::cout << "Item " << _2
<< " is _1->get_name() << std::endl);
#define IMP_FOREACH_QUAD_INDEX (   sequence,
  operation 
)

These macros avoid various inefficiencies.

The macros take the name of the sequence and the operation to peform. The item in the sequence is called _1, it's index is _2. Use it like

IMP_FOREACH_PARTICLE(sc, std::cout << "Item " << _2
<< " is _1->get_name() << std::endl);
#define IMP_IMPLEMENT_QUAD_CONTAINER_OPERATIONS (   Name,
  LOOP 
)

Implement the needed template functions for a container.

Parameters:
[in]Namethe name
[in]LOOPdo the loop. There should be a line IMP_OPERATION and the current item should be in a variable named item at that time.
#define IMP_INDEX_QUAD_DERIVATIVE_MODIFIER (   Name)

Declare the functions needed for a QuadModifier.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_INDEX_QUAD_MODIFIER (   Name)

Declare the functions needed for a QuadModifier.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_INDEX_QUAD_PREDICATE (   Name,
  gv 
)

Declare the functions needed for a QuadPredicate.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_INDEX_QUAD_SCORE (   Name)

Declare the functions needed for a complex QuadScore.

In addition to the methods done by IMP_OBJECT(), it declares

#define IMP_QUAD_CONTAINER (   Name)

Declare the needed functions for a QuadContainer.

In addition to the methods of IMP_OBJECT, it declares

#define IMP_QUAD_DERIVATIVE_MODIFIER (   Name)

Declare the functions needed for a QuadModifier.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_QUAD_MODIFIER (   Name)

Declare the functions needed for a QuadModifier.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_QUAD_PREDICATE (   Name)

Declare the functions needed for a QuadPredicate.

In addition to the methods done by IMP_OBJECT, it declares

#define IMP_QUAD_SCORE (   Name)

Declare the functions needed for a QuadScore.

In addition to the methods done by IMP_INTERACTON, it declares

See IMP_SIMPLE_QUAD_SCORE() for a way of providing an implementation of that method.

#define IMP_SIMPLE_QUAD_SCORE (   Name)

Declare the functions needed for a QuadScore.

In addition to the methods declared and defined by IMP_QUAD_SCORE, the macro provides an implementation of


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