25 #ifndef INCLUDED_core_id_AtomID_Map_hh
26 #define INCLUDED_core_id_AtomID_Map_hh
38 #include <utility/vector1_bool.hh>
47 template<
typename T >
104 Value const & default_value_a
143 res_map_[ i_res ].resize( n_atom, value );
152 for (
Size i = 1, ie =
res_map_.size(); i <= ie; ++i ) {
154 for (
Size j = 1, je = atom_map.size(); j <= je; ++j ) {
166 for (
Size i = 1, ie =
res_map_.size(); i <= ie; ++i ) {
168 for (
Size j = 1, je = atom_map.size(); j <= je; ++j ) {
169 atom_map[ j ] = value;
181 for (
Size j = 1, je = atom_map.size(); j <= je; ++j ) {
182 atom_map[ j ] = value;
198 return atom_map[
id.atomno() ];
209 if (
Size(
id.atomno() ) > atom_map.size() ) atom_map.resize(
id.atomno(),
default_value_ );
210 atom_map[
id.atomno() ] = value;
246 template<
typename TF >
282 for (
Size i=1, i_end =
size(); i<= i_end; ++i ) {
283 Size const new_pos( old2new[ i ] );
285 replacement[ new_pos ].swap(
res_map_[ i ] );
353 return ( (
id.rsd() >= 1 ) && (
id.atomno() >= 1 ) &&
369 return res_map_[
id.rsd() ][
id.atomno() ];
378 return res_map_[
id.rsd() ][
id.atomno() ];
387 return res_map_[
id.rsd() ][
id.atomno() ];
396 return res_map_[
id.rsd() ][
id.atomno() ];
463 return ( a.res_map_ == b.res_map_ );
473 return ( a.res_map_ != b.res_map_ );
479 #ifdef USEBOOSTSERIALIZE
480 friend class boost::serialization::access;
482 template<
class Archive>
483 void serialize(Archive & ar,
const unsigned int version) {
500 template<
typename T >
505 a.res_map_.swap( b.res_map_ );
513 #endif // INCLUDED_core_id_AtomID_Map_HH