IMP  2.0.1
The Integrative Modeling Platform
kernel/triplet_macros.h File Reference

Macros for various classes. More...

#include "internal/TupleRestraint.h"
#include "internal/functors.h"
#include "container_macros.h"
#include "input_output_macros.h"
#include <algorithm>
+ Include dependency graph for kernel/triplet_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_TRIPLET_CONTAINER(Name)   IMP_TRIPLET_CONTAINER(name)
 Declare the needed functions for an active TripletContainer. More...
 
#define IMP_COMPOSITE_TRIPLET_SCORE(Name)
 Declare the functions needed for a complex TripletScore. More...
 
#define IMP_FOREACH_TRIPLET(sequence, operation)
 
#define IMP_FOREACH_TRIPLET_INDEX(sequence, operation)   IMP_CONTAINER_FOREACH(TripletContainer, sequence, operation)
 
#define IMP_INDEX_TRIPLET_DERIVATIVE_MODIFIER(Name)   IMP_INDEX_TRIPLET_MODIFIER(Name)
 Use IMP_INDEX_TRIPLET_MODIFIER instead.
 
#define IMP_INDEX_TRIPLET_MODIFIER(Name)
 Declare the functions needed for a TripletModifier. More...
 
#define IMP_INDEX_TRIPLET_PREDICATE(Name, return_value, return_inputs)
 Declare the functions needed for a TripletPredicate. More...
 
#define IMP_INDEX_TRIPLET_SCORE(Name)
 Declare the functions needed for a complex TripletScore. More...
 
#define IMP_SIMPLE_TRIPLET_SCORE(Name)
 Declare the functions needed for a TripletScore. More...
 
#define IMP_TRIPLET_CONTAINER(Name)
 Declare the needed functions for a TripletContainer. More...
 
#define IMP_TRIPLET_DERIVATIVE_MODIFIER(Name)   IMP_TRIPLET_MODIFIER(Name)
 Use IMP_TRIPLET_MODIFIER() instead.
 
#define IMP_TRIPLET_MODIFIER(Name)
 Declare the functions needed for a TripletModifier. More...
 
#define IMP_TRIPLET_PREDICATE(Name)
 Declare the functions needed for a TripletPredicate. More...
 
#define IMP_TRIPLET_SCORE(Name)
 Declare the functions needed for a TripletScore. More...
 

Detailed Description

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

Copyright 2007-2013 IMP Inventors. All rights reserved.

Definition in file kernel/triplet_macros.h.

Macro Definition Documentation

#define IMP_ACTIVE_TRIPLET_CONTAINER (   Name)    IMP_TRIPLET_CONTAINER(name)

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

Definition at line 381 of file kernel/triplet_macros.h.

#define IMP_COMPOSITE_TRIPLET_SCORE (   Name)
#define IMP_FOREACH_TRIPLET (   sequence,
  operation 
)

Use IMP_CONTAINER_FOREACH() instead.

Definition at line 386 of file kernel/triplet_macros.h.

#define IMP_FOREACH_TRIPLET_INDEX (   sequence,
  operation 
)    IMP_CONTAINER_FOREACH(TripletContainer, sequence, operation)

Use IMP_CONTAINER_FOREACH() instead.

Definition at line 402 of file kernel/triplet_macros.h.

#define IMP_INDEX_TRIPLET_MODIFIER (   Name)

In addition to the methods done by IMP_OBJECT, it declares

Definition at line 301 of file kernel/triplet_macros.h.

#define IMP_INDEX_TRIPLET_PREDICATE (   Name,
  return_value,
  return_inputs 
)

In addition to the methods done by IMP_OBJECT, it defines

Definition at line 224 of file kernel/triplet_macros.h.

#define IMP_INDEX_TRIPLET_SCORE (   Name)

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

Definition at line 133 of file kernel/triplet_macros.h.

#define IMP_SIMPLE_TRIPLET_SCORE (   Name)

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

Definition at line 57 of file kernel/triplet_macros.h.

#define IMP_TRIPLET_CONTAINER (   Name)
In addition to the methods of IMP_OBJECT, it declares
- IMP::TripletContainer::get_number_of_particle_particle_triplets()
- IMP::TripletContainer::get_particle_particle_triplet()
- IMP::TripletContainer::apply()
- IMP::TripletContainer::evaluate()
- IMP::Interaction::get_input_objects()

You need to define a template method with the signature
template <class Functor>
Functor for_each(Functor f);

that applied the functor to each thing in the container.

Definition at line 360 of file kernel/triplet_macros.h.

#define IMP_TRIPLET_MODIFIER (   Name)

In addition to the methods done by IMP_OBJECT, it declares

Definition at line 280 of file kernel/triplet_macros.h.

#define IMP_TRIPLET_PREDICATE (   Name)
#define IMP_TRIPLET_SCORE (   Name)

In addition to the methods done by IMP_INTERACTON, it declares

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

Definition at line 31 of file kernel/triplet_macros.h.