stl

C++ statement analysis

I am seeing a code where in the program it is creating a hash_map: // Create a hash_map hm3 with the // allocator of hash_map hm1 hash_map <MyStr, MyInt>::allocator_type hm1_Alloc; hm1_Alloc = hm1.get_allocator( ); hash_map <MyStr, MyInt, hash_compare <MyStr, less_str > > hm3( hash_compare <MyStr, less_str > (), hm1_Allo...

Will std::multimap preserve the insert order if the key of 2 elements equal to each other?

I am wondering whether this is true? If it is, is this behavior guaranteed by the c++ standard? ...

Are the elements in a std::map guaranteed to be ordered?

Is this just an implementation side effect (red-black tree) or the order is guaranteed by the c++ standard? ...

std::vector - Pointer to buffer after reserve()?

I have a std::vector of values for which I know the maximum size, but the actual size will vary during usage: void setupBuffer(const size_t maxSize) { myVector.reserve(maxSize); } void addToBuffer(const Value& v) { myVector.push_back(v); if (myVector.size() == maxSize) { // process data... myVector.clear(); } } Howev...

Avoid stepping into c++ std header files in Visual Studio 2008 Debugger

Possible Duplicate: Is there a way to automatically avoiding stepping into certain functions in Visual Studio? Good Morning, I'm looking for a way to tell the debugger to avoid stepping into some header files that are of no interest to me when debugging my code. Example: When I have a std::string as a parameter of a function...

how to declare templated map::iterator within a templated class. following code Says ; expected when compiled

the following code says error: expected ‘;’ before ‘forwit’ error: expected ‘;’ before ‘revit’ template<class T> class mapping { public: map<T,int> forw; map<int,T> rev; int curr; //typeof(forw)::iterator temp; map<T,int>::iterator forwit; map<int,T>::iterator revit; }; // }; // JVC: This was present, bu...

OpenCV, Matlab and STL containers

Many functions in the latest release of OpenCV require the use of STL containers. I run into problems when trying to use them in a Matlab MEX file. I am compiling the MEX files from within Matlab. Both OpenCV and Matlab use the "/MD" flag which is "Multithreaded DLL" for code generation. Compiler: MSVC++ 9.0 Matlab 2010a OpenCV latest f...

Using RAII with C++ streams and STL containers?

I'm trying to use RAII concepts with an STL container of ofstream objects. For example: int main(int argc, char**argv) { std::deque<std::ofstream> sList; sList.push_back(std::ofstream()); // tried variations such as *(new ofstream()) sList[0].open("test1.txt"); sList[0] << "This is a test"; sList[0].close(); } However, no ...

Is wrapping STL idioms for readability a good idea?

Hi, I'm currently working on a C++ project that needs to have as few external dependencies as possible, and thus I'm pretty much sticking to STL and Boost. Until now, I've been almost exclusively living in Qt-land when it comes to C++. In general I tend to use C# and Python when I can. Today I wanted to check whether a std::vector cont...

C++ iterator, do I need to reset after using set find method

Should I need to call reset method or anything, when I try to use c++ stl set find method multiple times? ...

C++: Error C2064 with STL

I'm trying to use STL, but the following doesn't compile. main.cpp: #include <set> #include <algorithm> using namespace std; class Odp { public: set<int> nums; bool IsOdd(int i) { return i % 2 != 0; } bool fAnyOddNums() { set<int>::iterator iter = find_if(nums.begin(), nums.end(), &Odp::IsOdd...

Sort Order in STL map and set

How are the user defined objects sorted in map and set? As far as I know, map/set are Sorted Associative Containers: the elements being inserted are sorted based on the key that it holds. But map and set internally use operator > to sort their elements. From the SGI site, I have the following examples: struct ltstr { bool operator...

How to add element by element of two STL vectors?

The question is quite dumb, but I need to do it in a very efficient way - it will be performed over an over again in my code. I have a function that returns a vector, and I have to add the returned values to another vector, element by element. Quite simple: vector<double> result; vector<double> result_temp for(int i=0; i< 10; i++) resul...

Storing struct instances in a std::map

I'm trying to map some structs to some other instances, like this: template <typename T> class Component { public: typedef std::map<EntityID, T> instances_map; instances_map instances; Component() {}; T add(EntityID id) { T* t = new T(); instances[id] = *t; return *t; }; }; Then I use ...

Difference between std::list<std::pair> and std::map in C++ stl

Hi, Can you please tell me the difference between std::list<std::pair> and std::map. Can I used find method on list too? Thank you. -- Clarification Question edited to be more clear. ...

[STL] Enjoying Both Worlds: vector With insert/erase efficiency of list

I need a container that gives me a fast indexer and can also be very efficiency in arbitrary insertion and deletion operations (meaning at any position of the container). I remember reading about such container that uses buckets but I can't seem to find it or retrace the steps that lead me to it (I will start using the bookmarks, prom...

Converting a C++ Iterator into an Iterator over a Member (Select iterator?)

In C#, I can create an iterator (or IEnumerable in C# land) which takes another iterator and selects a member of the original type: class ParentType { public MemberType member { get; private set; } } // And somewhere else IEnumerable<MemberType> getMembers(IEnumerable<ParentType> parents) { for each (ParentType parent in paren...

how to use stl::map as two dimension array

Could you let us know how to use stl:map as two dimension array? I wanted to access the individual elements as like mymap[i][j] where I do not know beforehand what the value of i or j could be. Any better ideas to do the same thing in other way? ...

What is an iterator's default value?

For any STL container that I'm using, if I declare an iterator (of this particular container type) using the iterator's default constructor, what will the iterator be initialised to? For example, I have: std::list<void*> address_list; std::list<void*>::iterator iter; What will iter be initialised to? ...

Sort by proxy (or: sort one container by the contents of another) in C++

I have a set of data which is split into two arrays (let's call them data and keys). That is, for any given item with an index i, I can access the data for that item with data[i] and the key for that item with keys[i]. I cannot change this structure (eg, to interleave keys and data into a single array), because I need to pass the data ar...