IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
AllBipartitePairContainer.h
Go to the documentation of this file.
1
/**
2
* \file IMP/container/AllBipartitePairContainer.h
3
* \brief Return all pairs from a SingletonContainer
4
*
5
* This file is generated by a script (core/tools/make-container).
6
* Do not edit directly.
7
*
8
* Copyright 2007-2013 IMP Inventors. All rights reserved.
9
*/
10
11
#ifndef IMPCONTAINER_ALL_BIPARTITE_PAIR_CONTAINER_H
12
#define IMPCONTAINER_ALL_BIPARTITE_PAIR_CONTAINER_H
13
14
#include <IMP/container/container_config.h>
15
16
#include <
IMP/PairContainer.h
>
17
#include <
IMP/SingletonContainer.h
>
18
#include <
IMP/container/ListPairContainer.h
>
19
#include <
IMP/container/PairContainerSet.h
>
20
#include <
IMP/pair_macros.h
>
21
#include <
IMP/singleton_macros.h
>
22
23
IMPCONTAINER_BEGIN_NAMESPACE
24
25
//! Return all bipartite pairs between two containers
26
/** \see AllPairContainer
27
28
\usesconstraint
29
*/
30
class
IMPCONTAINEREXPORT
AllBipartitePairContainer
:
public
PairContainer
31
{
32
IMP::base::OwnerPointer<SingletonContainer>
a_, b_;
33
friend
class
AllPairContainer
;
34
public
:
35
template
<
class
F>
36
void
apply_generic
(F* f)
const
{
37
validate_readable();
38
ParticleIndexes
ib= b_->get_indexes();
39
IMP_FOREACH_SINGLETON_INDEX
(a_, {
40
for
(
unsigned
int
j=0; j < ib.size(); ++j) {
41
f->apply_index(get_model(), ParticleIndexPair(_1, ib[j]));
42
}
43
}
44
);
45
}
46
AllBipartitePairContainer
(SingletonContainerAdaptor a,
47
SingletonContainerAdaptor b,
48
std::string name=
"AllBipartitePairContainer%1%"
);
49
50
IMP_PAIR_CONTAINER
(
AllBipartitePairContainer
);
51
};
52
53
IMP_OBJECTS
(
AllBipartitePairContainer
,
AllBipartitePairContainers
);
54
55
56
IMPCONTAINER_END_NAMESPACE
57
58
#endif
/* IMPCONTAINER_ALL_BIPARTITE_PAIR_CONTAINER_H */