Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

EMAN::Dict Class Reference

Dict is a dictionary to store <string, EMObject> pair. More...

#include <emobject.h>

List of all members.

Public Member Functions

 Dict ()
 Dict (const string &key1, EMObject val1)
 Construct a Dict object from 1 key/value pair It's probably more conventional to intialize key/value pairs using operator[], but either approach is fine.
 Dict (const string &key1, EMObject val1, const string &key2, EMObject val2)
 Construct a Dict object from 2 key/value pairs.
 Dict (const string &key1, EMObject val1, const string &key2, EMObject val2, const string &key3, EMObject val3)
 Construct a Dict object from 3 key/value pairs.
 Dict (const string &key1, EMObject val1, const string &key2, EMObject val2, const string &key3, EMObject val3, const string &key4, EMObject val4)
 Construct a Dict object from 4 key/value pairs.
 Dict (const map< string, EMObject > &d)
 Construct a Dict object from a map object Calls the generic algorithm "copy".
 ~Dict ()
 Destructor Performs no explicit action besides what the compiler automatically does.
 Dict (const Dict &that)
 Copy constructor Copies all elements in dict.
Dictoperator= (const Dict &that)
 Assignment operator Copies all elements in dict.
vector< string > keys () const
 Get a vector containing all of the (string) keys in this dictionary.
vector< EMObjectvalues () const
 Get a vector containing copies of each of the EMObjects in this dictionary.
bool has_key_ci (const string &key) const
 Ask the Dictionary if it as a particular key in a case insensitive way.
bool has_key (const string &key) const
 Ask the Dictionary if it as a particular key.
size_t size () const
 Ask the Dictionary for its size.
EMObject get (const string &key) const
 Get the EMObject corresponding to the particular key Probably better to just use operator[].
EMObject get_ci (const string &key) const
 Get the EMObject corresponding to the particular key using case insensitivity.
void put (const string &key, EMObject val)
 Put the value/key pair into the dictionary probably better to just use operator[].
void erase (const string &key)
 Remove a particular key.
void clear ()
 Clear all keys wraps map.clear().
template<typename type>
type set_default (const string &key, type val)
 Default setting behavior This can be achieved using a template - d.woolford Jan 2008 (before there was a function being written for every type).
Dict copy_exclude_keys (const vector< string > &excluded_keys) const
Dict copy_exclusive_keys (const vector< string > &exclusive_keys) const
Dict copy_keys_in (const TypeDict &tdict) const
EMObjectoperator[] (const string &key)
EMObject operator[] (const string &key) const
iterator begin (void)
const_iterator begin (void) const
iterator end (void)
const_iterator end (void) const
iterator find (const string &key)
const_iterator find (const string &key) const

Private Attributes

map< string, EMObjectdict

Friends

bool operator== (const Dict &d1, const Dict &d2)
 Friend declaration operator== namespace EMAN2 operator== accesses private variables.
bool operator!= (const Dict &d1, const Dict &d2)
 Friend declaration operator!= namespace EMAN2 operator!= accesses private variables.

Classes

class  const_iterator
 Const iterator support for the Dict object This is just a wrapper, everything is inherited from the map<string,EMObject>::cons_iterator so the interface is the same as you would expect i.e for ( Dict::const_iterator it = params.begin(); it != params.end(); ++it ). More...
class  iterator
 Non const iterator support for the Dict object This is just a wrapper, everything is inherited from the map<string,EMObject>::iterator so the interface is the same as you would expect i.e for ( Dict::iterator it = params.begin(); it != params.end(); ++it ). More...


Detailed Description

Dict is a dictionary to store <string, EMObject> pair.

Typical ways to construct a Dict:

Dict d; d["lowpass"] = 12.23; float lowpass1 = d["lowpass"];

Dict d2("lowpass", 12.23);

You can iterate through a dict: for ( Dict::const_iterator it = params.begin(); it != params.end(); ++it ) { //do things to it } And similary use the Dict iterator as arguments to the generic algorithms that are feasible, such as copy.

You can find things in the iterator style: if( d.find("lowpass") != d.end() ) cout << "D has a lowpass key" << endl;\ Or like this if( d.has_key("lowpass") ) ...

A Dict has copy and assignment operators.

See the testing code in rt/emdata/test_emobject.cpp for prewritten testing code

Definition at line 377 of file emobject.h.


Constructor & Destructor Documentation

EMAN::Dict::Dict  )  [inline]
 

Definition at line 380 of file emobject.h.

00381                 {
00382                 }

EMAN::Dict::Dict const string &  key1,
EMObject  val1
[inline]
 

Construct a Dict object from 1 key/value pair It's probably more conventional to intialize key/value pairs using operator[], but either approach is fine.

Definition at line 388 of file emobject.h.

References dict.

00389                 {
00390                         dict[key1] = val1;
00391                 }

EMAN::Dict::Dict const string &  key1,
EMObject  val1,
const string &  key2,
EMObject  val2
[inline]
 

Construct a Dict object from 2 key/value pairs.

Definition at line 395 of file emobject.h.

References dict.

00397                 {
00398                         dict[key1] = val1;
00399                         dict[key2] = val2;
00400                 }

EMAN::Dict::Dict const string &  key1,
EMObject  val1,
const string &  key2,
EMObject  val2,
const string &  key3,
EMObject  val3
[inline]
 

Construct a Dict object from 3 key/value pairs.

Definition at line 404 of file emobject.h.

References dict.

00407                 {
00408                         dict[key1] = val1;
00409                         dict[key2] = val2;
00410                         dict[key3] = val3;
00411                 }

EMAN::Dict::Dict const string &  key1,
EMObject  val1,
const string &  key2,
EMObject  val2,
const string &  key3,
EMObject  val3,
const string &  key4,
EMObject  val4
[inline]
 

Construct a Dict object from 4 key/value pairs.

Definition at line 415 of file emobject.h.

References dict.

00419                 {
00420                         dict[key1] = val1;
00421                         dict[key2] = val2;
00422                         dict[key3] = val3;
00423                         dict[key4] = val4;
00424                 }

EMAN::Dict::Dict const map< string, EMObject > &  d  )  [inline]
 

Construct a Dict object from a map object Calls the generic algorithm "copy".

Definition at line 429 of file emobject.h.

References copy(), and dict.

00430                 {
00431                         copy(d.begin(), d.end(), inserter(dict, dict.begin()));
00432                         // Or use
00433                         // dict.insert(d.begin(), d.end());
00434                 }

EMAN::Dict::~Dict  )  [inline]
 

Destructor Performs no explicit action besides what the compiler automatically does.

Definition at line 439 of file emobject.h.

00439 {}

Dict::Dict const Dict that  ) 
 

Copy constructor Copies all elements in dict.

Definition at line 875 of file emobject.cpp.

00876 {
00877         *this = that;
00878 }


Member Function Documentation

Dict::const_iterator Dict::begin void   )  const
 

Definition at line 919 of file emobject.cpp.

References dict.

00920 {
00921         return const_iterator( (map < string, EMObject >::const_iterator) dict.begin() );
00922 }

Dict::iterator Dict::begin void   ) 
 

Definition at line 914 of file emobject.cpp.

References dict.

Referenced by EMAN::Transform::detect_problem_keys(), EMAN::FactoryBase::insert_params(), operator=(), and EMAN::Reconstructor::print_params().

00915 {
00916         return iterator( dict.begin() );
00917 }

void EMAN::Dict::clear  )  [inline]
 

Clear all keys wraps map.clear().

Definition at line 539 of file emobject.h.

References dict.

Referenced by EMAN::FactoryBase::set_params().

00540                 {
00541                         dict.clear();
00542                 }

Dict EMAN::Dict::copy_exclude_keys const vector< string > &  excluded_keys  )  const [inline]
 

Definition at line 556 of file emobject.h.

References erase(), and has_key().

00557                 {
00558                         Dict ret(*this);
00559 
00560                         for ( vector<string>::const_iterator it = excluded_keys.begin(); it != excluded_keys.end(); ++it ) {
00561                                 if (ret.has_key(*it)) ret.erase(*it);
00562                         }
00563 
00564                         return ret;
00565                 }

Dict EMAN::Dict::copy_exclusive_keys const vector< string > &  exclusive_keys  )  const [inline]
 

Definition at line 567 of file emobject.h.

References has_key().

Referenced by copy_keys_in().

00568                 {
00569                         Dict ret;
00570                         for ( vector<string>::const_iterator it = exclusive_keys.begin(); it != exclusive_keys.end(); ++it ) {
00571                                 if (has_key(*it)) ret[*it] = (*this)[*it];
00572                         }
00573 
00574                         return ret;
00575                 }

Dict EMAN::Dict::copy_keys_in const TypeDict tdict  )  const [inline]
 

Definition at line 577 of file emobject.h.

References copy_exclusive_keys(), EMAN::TypeDict::keys(), and keys().

Referenced by EMAN::FactoryBase::copy_relevant_params().

00577                                                                  {
00578                         vector<string> keys = tdict.keys();
00579                         return copy_exclusive_keys(keys);
00580                 }

Dict::const_iterator Dict::end void   )  const
 

Definition at line 935 of file emobject.cpp.

References dict.

00936 {
00937         return const_iterator( (map < string, EMObject >::const_iterator)dict.end() );
00938 }

Dict::iterator Dict::end void   ) 
 

Definition at line 930 of file emobject.cpp.

References dict.

Referenced by EMAN::Transform::detect_problem_keys(), EMAN::FactoryBase::insert_params(), operator=(), and EMAN::Reconstructor::print_params().

00931 {
00932         return iterator( dict.end() );
00933 }

void EMAN::Dict::erase const string &  key  )  [inline]
 

Remove a particular key.

Definition at line 531 of file emobject.h.

References dict.

Referenced by copy_exclude_keys(), and EMAN::EMData::del_attr().

00532                 {
00533                         dict.erase(key);
00534                 }

Dict::const_iterator Dict::find const string &  key  )  const
 

Definition at line 940 of file emobject.cpp.

References dict.

00941 {
00942         return const_iterator( (map < string, EMObject >::const_iterator)dict.find(key) );
00943 }

Dict::iterator Dict::find const string &  key  ) 
 

Definition at line 925 of file emobject.cpp.

References dict.

00926 {
00927         return iterator( dict.find(key) );
00928 }

EMObject EMAN::Dict::get const string &  key  )  const [inline]
 

Get the EMObject corresponding to the particular key Probably better to just use operator[].

Definition at line 506 of file emobject.h.

References dict, has_key(), LOGERR, and NotExistingObjectException.

Referenced by EMAN::file_store::add_image(), EMAN::MeanZeroEdgeProcessor::process_inplace(), EMAN::EMData::rotate_translate(), EMAN::SigmaProcessor::set_params(), EMAN::RangeThresholdProcessor::set_params(), EMAN::ExpProcessor::set_params(), and EMAN::LinearXformProcessor::set_params().

00507                 {
00508                         if( has_key(key) ) {
00509                                 return dict[key];
00510                         }
00511                         else {
00512                                 LOGERR("No such key exist in this Dict");
00513                                 throw NotExistingObjectException("EMObject", "Nonexisting key (" + key + ") in Dict");
00514                         }
00515                 }

EMObject Dict::get_ci const string &  key  )  const
 

Get the EMObject corresponding to the particular key using case insensitivity.

Parameters:
key the key you want to check for in a case insensitive way

Definition at line 997 of file emobject.cpp.

References dict, NotExistingObjectException, and EMAN::Util::str_to_lower().

Referenced by EMAN::Transform::set_params(), EMAN::Transform::set_params_inverse(), and EMAN::Transform::set_rotation().

00998 {
00999         string lower_key = Util::str_to_lower(key);
01000 
01001         for (map < string, EMObject >::const_iterator it = dict.begin(); it != dict.end(); ++it ) {
01002                 string lower = Util::str_to_lower(it->first);
01003                 if (lower == lower_key) return it->second;
01004         }
01005 
01006         throw NotExistingObjectException("EMObject", "Nonexisting key (" + key + ") in Dict");
01007 }

bool EMAN::Dict::has_key const string &  key  )  const [inline]
 

Ask the Dictionary if it as a particular key.

Parameters:
key the (string) key to find

Definition at line 487 of file emobject.h.

References dict.

Referenced by EMAN::Refine3DAligner::align(), EMAN::RefineAligner::align(), EMAN::TransformProcessor::assert_valid_aspect(), EMAN::PawelProjector::backproject3d(), EMAN::ChaoProjector::backproject3d(), EMAN::nnSSNR_ctfReconstructor::buildFFTVolume(), EMAN::nn4_ctfReconstructor::buildFFTVolume(), EMAN::nnSSNR_Reconstructor::buildFFTVolume(), EMAN::nn4Reconstructor::buildFFTVolume(), EMAN::nnSSNR_ctfReconstructor::buildNorm2Volume(), EMAN::nnSSNR_Reconstructor::buildNorm2Volume(), EMAN::nnSSNR_ctfReconstructor::buildNorm3Volume(), EMAN::nnSSNR_ctfReconstructor::buildNormVolume(), EMAN::nn4_ctfReconstructor::buildNormVolume(), EMAN::nnSSNR_Reconstructor::buildNormVolume(), EMAN::nn4Reconstructor::buildNormVolume(), EMAN::EMData::clip_inplace(), EMAN::DotCmp::cmp(), EMAN::SqEuclideanCmp::cmp(), EMAN::CccCmp::cmp(), copy_exclude_keys(), copy_exclusive_keys(), EMAN::SetSFProcessor::create_radial_func(), EMAN::FourierReconstructor::finish(), get(), EMAN::EMData::get_attr(), EMAN::EMData::get_attr_default(), EMAN::EMData::get_clip(), EMAN::EMData::get_ctf(), EMAN::FourierPixelInserter3D::init(), EMAN::NewFourierProcessor::preprocess(), EMAN::LowpassAutoBProcessor::preprocess(), EMAN::HighpassAutoPeakProcessor::preprocess(), EMAN::HighpassFourierProcessor::preprocess(), EMAN::LowpassFourierProcessor::preprocess(), EMAN::ScaleTransformProcessor::process(), EMAN::BinaryOperateProcessor< Type >::process_inplace(), EMAN::ScaleTransformProcessor::process_inplace(), EMAN::FFTProcessor::process_inplace(), EMAN::TestImageCylinder::process_inplace(), EMAN::TestImageNoiseGauss::process_inplace(), EMAN::TestImageNoiseUniformRand::process_inplace(), EMAN::TestImageEllipse::process_inplace(), EMAN::TestImageHollowEllipse::process_inplace(), EMAN::TestImageSinewave::process_inplace(), EMAN::TestImageSphericalWave::process_inplace(), EMAN::TestImageFourierNoiseProfile::process_inplace(), EMAN::CTFSNRWeightProcessor::process_inplace(), EMAN::AutoMask3D2Processor::process_inplace(), EMAN::AutoMask3DProcessor::process_inplace(), EMAN::AddRandomNoiseProcessor::process_inplace(), EMAN::AutoMask2DProcessor::process_inplace(), EMAN::AddNoiseProcessor::process_inplace(), EMAN::NormalizeToLeastSquareProcessor::process_inplace(), EMAN::GradientPlaneRemoverProcessor::process_inplace(), EMAN::ChaoProjector::project3d(), EMAN::FourierGriddingProjector::project3d(), EMAN::PawelProjector::project3d(), EMAN::EMData::read_image(), EMAN::EMData::scale_pixel(), EMAN::EMData::set_attr_dict(), set_default(), EMAN::PaintProcessor::set_params(), EMAN::MaskGaussNonuniformProcessor::set_params(), EMAN::CircularMaskProcessor::set_params(), EMAN::FiniteProcessor::set_params(), EMAN::HighpassFourierProcessor::set_params(), EMAN::LowpassFourierProcessor::set_params(), EMAN::KMeansAnalyzer::set_params(), EMAN::nnSSNR_ctfReconstructor::setup(), EMAN::nn4_ctfReconstructor::setup(), EMAN::nnSSNR_Reconstructor::setup(), EMAN::nn4Reconstructor::setup(), EMAN::FourierReconstructor::setup(), EMAN::FourierReconstructor::setup_seed(), EMAN::TestUtil::to_emobject(), EMAN::SpiderIO::write_single_header(), EMAN::RT3DSphereAligner::xform_align_nbest(), and EMAN::RT3DGridAligner::xform_align_nbest().

00488                 {
00489                         map < string, EMObject >::const_iterator p = dict.find(key);
00490                         if (p != dict.end()) {
00491                                 return true;
00492                         }
00493                         return false;
00494                 }

bool Dict::has_key_ci const string &  key  )  const
 

Ask the Dictionary if it as a particular key in a case insensitive way.

Parameters:
key the (string) key to find

Definition at line 1009 of file emobject.cpp.

References dict, and EMAN::Util::str_to_lower().

Referenced by EMAN::Transform::detect_problem_keys(), EMAN::Transform::set_params(), EMAN::Transform::set_params_inverse(), and EMAN::Transform::set_rotation().

01010 {
01011         string lower_key = Util::str_to_lower(key);
01012 
01013         for (map < string, EMObject >::const_iterator it = dict.begin(); it != dict.end(); ++it ) {
01014                 string lower = Util::str_to_lower(it->first);
01015                 if (lower == lower_key) return true;
01016         }
01017         return false;
01018 }

vector< string > EMAN::Dict::keys  )  const [inline]
 

Get a vector containing all of the (string) keys in this dictionary.

Definition at line 453 of file emobject.h.

References dict.

Referenced by copy_keys_in(), EMAN::EMUtil::dump_dict(), EMAN::TestUtil::dump_emdata(), EMAN::EMData::rotate_translate(), EMAN::EMData::set_attr_dict(), and EMAN::TestUtil::test_dict().

00454                 {
00455                         vector < string > result;
00456 
00457                         map < string, EMObject >::const_iterator p;
00458                         for (p = dict.begin(); p != dict.end(); p++) {
00459                                 result.push_back(p->first);
00460                         }
00461 
00462                         return result;
00463                 }

Dict & Dict::operator= const Dict that  ) 
 

Assignment operator Copies all elements in dict.

Definition at line 880 of file emobject.cpp.

References begin(), copy(), dict, and end().

00881 {
00882         if ( this != &that )
00883         {
00884                 dict.clear();
00885                 copy(that.begin(), that.end(), inserter(dict, dict.begin()));
00886                 // or use this
00887                 // dict.insert( that.begin(), that.end());
00888         }
00889         else
00890         {
00891                 cerr << "Warning - attempted to assign a Dict object to itself. No action taken" << endl;
00892         }
00893 
00894         return *this;
00895 }

EMObject EMAN::Dict::operator[] const string &  key  )  const [inline]
 

Definition at line 597 of file emobject.h.

References dict.

00598                 {
00599 //                      if( has_key(key) )  return dict[key];
00600 //                      else return EMObject();
00601                         return dict[key];
00602 
00603 //                      else {
00604 //                              LOGERR("No such key exist in this Dict");
00605 //                              throw NotExistingObjectException("EMObject", "Nonexisting key (" + key + ") in Dict");
00606 //                      }
00607                 }

EMObject& EMAN::Dict::operator[] const string &  key  )  [inline]
 

Definition at line 582 of file emobject.h.

References dict.

00583                 {
00584 //                      static EMObject nullreturn;
00585 //                      if( has_key(key) )  return dict[key];
00586 //                      else return nullreturn;
00587 
00588 //                      if( has_key(key) ) {
00589                                 return dict[key];
00590 //                      }
00591 //                      else {
00592 //                              LOGERR("No such key exist in this Dict");
00593 //                              throw NotExistingObjectException("EMObject", "Nonexisting key (" + key + ") in Dict");
00594 //                      }
00595                 }

void EMAN::Dict::put const string &  key,
EMObject  val
[inline]
 

Put the value/key pair into the dictionary probably better to just use operator[].

Definition at line 524 of file emobject.h.

References dict.

Referenced by EMAN::MarchingCubes::get_isosurface(), and EMAN::SymSearchProcessor::process_inplace().

00525                 {
00526                         dict[key] = val;
00527                 }

template<typename type>
type EMAN::Dict::set_default const string &  key,
type  val
[inline]
 

Default setting behavior This can be achieved using a template - d.woolford Jan 2008 (before there was a function being written for every type).

Definition at line 548 of file emobject.h.

References dict, and has_key().

Referenced by EMAN::ImageAverager::add_image(), EMAN::OrientationGenerator::add_orientation(), EMAN::Refine3DAligner::align(), EMAN::RefineAligner::align(), EMAN::RTFSlowExhaustiveAligner::align(), EMAN::RTFExhaustiveAligner::align(), EMAN::RotateFlipAligner::align(), EMAN::RotateTranslateFlipAligner::align(), EMAN::RotateTranslateAligner::align(), EMAN::RotationalAligner::align(), EMAN::TranslationalAligner::align(), EMAN::FRCCmp::cmp(), EMAN::PhaseCmp::cmp(), EMAN::OptVarianceCmp::cmp(), EMAN::QuadMinDotCmp::cmp(), EMAN::TomoDotCmp::cmp(), EMAN::DotCmp::cmp(), EMAN::SqEuclideanCmp::cmp(), EMAN::CccCmp::cmp(), EMAN::LowpassAutoBProcessor::create_radial_func(), EMAN::FourierReconstructor::finish(), EMAN::OptimumOrientationGenerator::gen_orientations(), EMAN::SaffOrientationGenerator::gen_orientations(), EMAN::EvenOrientationGenerator::gen_orientations(), EMAN::RandomOrientationGenerator::gen_orientations(), EMAN::EmanOrientationGenerator::gen_orientations(), EMAN::HSym::get_asym_unit_points(), EMAN::DSym::get_asym_unit_points(), EMAN::CSym::get_asym_unit_points(), EMAN::DSym::get_asym_unit_triangles(), EMAN::CSym::get_asym_unit_triangles(), EMAN::HSym::get_delimiters(), EMAN::DSym::get_delimiters(), EMAN::CSym::get_delimiters(), EMAN::OptimumOrientationGenerator::get_orientations_tally(), EMAN::SaffOrientationGenerator::get_orientations_tally(), EMAN::EvenOrientationGenerator::get_orientations_tally(), EMAN::EmanOrientationGenerator::get_orientations_tally(), EMAN::HSym::get_sym(), EMAN::DSym::get_sym(), EMAN::CSym::get_sym(), EMAN::HSym::is_in_asym_unit(), EMAN::DSym::is_in_asym_unit(), EMAN::CSym::is_in_asym_unit(), EMAN::BinarySkeletonizerProcessor::process(), EMAN::ScaleTransformProcessor::process(), EMAN::IntTranslateProcessor::process(), EMAN::DirectionalSumProcessor::process(), EMAN::BooleanShrinkProcessor::process(), EMAN::MeanShrinkProcessor::process(), EMAN::FFTResampleProcessor::process(), EMAN::MedianShrinkProcessor::process(), EMAN::KmeansSegmentProcessor::process(), EMAN::NewHomomorphicTanhProcessor::process_inplace(), EMAN::NewHighpassTanhProcessor::process_inplace(), EMAN::NewLowpassTanhProcessor::process_inplace(), EMAN::ApplyPolynomialProfileToHelix::process_inplace(), EMAN::ModelEMCylinderProcessor::process_inplace(), EMAN::TomoTiltEdgeMaskProcessor::process_inplace(), EMAN::TomoTiltAngleWeightProcessor::process_inplace(), EMAN::ConvolutionProcessor::process_inplace(), EMAN::HistogramBin::process_inplace(), EMAN::NSigmaClampingProcessor::process_inplace(), EMAN::ClampingProcessor::process_inplace(), EMAN::ScaleTransformProcessor::process_inplace(), EMAN::IntTranslateProcessor::process_inplace(), EMAN::TestImageEllipse::process_inplace(), EMAN::TestImageHollowEllipse::process_inplace(), EMAN::TestImageCirclesphere::process_inplace(), EMAN::TestImageAxes::process_inplace(), EMAN::TestImageGradient::process_inplace(), EMAN::TestImageLineWave::process_inplace(), EMAN::CTFSNRWeightProcessor::process_inplace(), EMAN::TestImageFourierNoiseGaussian::process_inplace(), EMAN::AutoMask3D2Processor::process_inplace(), EMAN::PhaseToMassCenterProcessor::process_inplace(), EMAN::ToMassCenterProcessor::process_inplace(), EMAN::AutoMask2DProcessor::process_inplace(), EMAN::BinarizeFourierProcessor::process_inplace(), EMAN::NormalizeToLeastSquareProcessor::process_inplace(), EMAN::NormalizeByMassProcessor::process_inplace(), EMAN::FlattenBackgroundProcessor::process_inplace(), EMAN::BooleanShrinkProcessor::process_inplace(), EMAN::MeanShrinkProcessor::process_inplace(), EMAN::FFTResampleProcessor::process_inplace(), EMAN::MedianShrinkProcessor::process_inplace(), EMAN::BoxStatProcessor::process_inplace(), EMAN::ToMinvalProcessor::process_inplace(), EMAN::MaskSharpProcessor::set_params(), EMAN::InvertCarefullyProcessor::set_params(), EMAN::FourierReconstructor::setup(), EMAN::FourierReconstructorSimple2D::setup(), EMAN::FourierReconstructor::setup_seed(), EMAN::RT3DSphereAligner::xform_align_nbest(), and EMAN::RT3DGridAligner::xform_align_nbest().

00549                 {
00550                         if (!has_key(key)) {
00551                                 dict[key] = val;
00552                         }
00553                         return dict[key];
00554                 }

size_t EMAN::Dict::size  )  const [inline]
 

Ask the Dictionary for its size.

Definition at line 498 of file emobject.h.

References dict.

Referenced by apmd(), apmq(), EMAN::PawelProjector::backproject3d(), EMAN::ChaoProjector::backproject3d(), EMAN::Util::Crosrng_e(), EMAN::Util::Crosrng_ew(), EMAN::Util::Crosrng_ms(), EMAN::Util::Crosrng_ms_delta(), EMAN::Util::Crosrng_ns(), EMAN::Util::Crosrng_psi_0_180(), EMAN::Util::Crosrng_sm_psi(), EMAN::Processor::EMFourierFilterFunc(), EMAN::Util::multiref_polar_ali_2d(), EMAN::Util::multiref_polar_ali_2d_delta(), EMAN::Util::multiref_polar_ali_2d_local(), EMAN::Util::multiref_polar_ali_2d_local_psi(), EMAN::Util::multiref_polar_ali_2d_nom(), EMAN::Util::multiref_polar_ali_helical(), EMAN::RadialProcessor::process_inplace(), EMAN::SymSearchProcessor::process_inplace(), EMAN::ChaoProjector::project3d(), EMAN::FourierGriddingProjector::project3d(), and EMAN::RealPixelProcessor::set_params().

00499                 {
00500                         return dict.size();
00501                 }

vector< EMObject > EMAN::Dict::values  )  const [inline]
 

Get a vector containing copies of each of the EMObjects in this dictionary.

Definition at line 467 of file emobject.h.

References dict.

Referenced by EMAN::EMUtil::dump_dict(), and EMAN::RealPixelProcessor::set_params().

00468                 {
00469                         vector < EMObject > result;
00470 
00471                         map < string, EMObject >::const_iterator p;
00472                         for (p = dict.begin(); p != dict.end(); p++) {
00473                                 result.push_back(p->second);
00474                         }
00475 
00476                         return result;
00477                 }


Friends And Related Function Documentation

bool operator!= const Dict d1,
const Dict d2
[friend]
 

Friend declaration operator!= namespace EMAN2 operator!= accesses private variables.

Definition at line 903 of file emobject.cpp.

00904 {
00905         return !(d1 == d2);
00906 }

bool operator== const Dict d1,
const Dict d2
[friend]
 

Friend declaration operator== namespace EMAN2 operator== accesses private variables.

Definition at line 897 of file emobject.cpp.

00898 {
00899         // Just make use of map's version of operator==
00900         return (d1.dict == d2.dict);
00901 }


Member Data Documentation

map< string, EMObject > EMAN::Dict::dict [mutable, private]
 

Definition at line 620 of file emobject.h.

Referenced by begin(), clear(), Dict(), end(), erase(), find(), get(), get_ci(), has_key(), has_key_ci(), keys(), operator=(), EMAN::operator==(), operator[](), put(), set_default(), size(), and values().


The documentation for this class was generated from the following files:
Generated on Tue May 25 17:36:28 2010 for EMAN2 by  doxygen 1.4.4