stl

Compiling mp4v2 on Mac OS X

Hi Anybody can help me with compiling mp4v2 on Mac OS X? I've tried configuring and compiling as per the instructions but I got a lot of errors originating from the C++ headers. The configure command was ./configure --enable-ub followed by plain make at the Terminal. From the looks of the error messages, it seems that a number of hea...

Applying a function to 2 stl vectors

I'm currently trying to learn how to effectively use the STL part of c++. Say there are 2 vectors of the same type of equal length that need to be transformed into another vector of the same length by applying some operator, is there a good way to do this using the functionality of the STL? Here's some pseudocode for what I'm trying to ...

Need help deciphering gprof output

I am pretty sure this has something to do with a vector of void function pointers, but I can't really make anything out of it. Can someone break this down for me? __gnu_cxx::__normal_iterator<unsigned long long const*, std::vector<unsigned long long, std::allocator<unsigned long long> > >::difference_type __gnu_cxx::operator-<unsigned ...

std::map assignment of read only location

I have a static std::map<std::string, CreateGUIFunc> in a class that basically holds strings identifying gui types, and CreateGUIFunc is a reference to a factory function. In my constructor I have if ( m_factoryRef.size() == 0 ) { m_factoryRef["image"] = &CreateGUI<Image>; m_factoryRef["button"] = &CreateGUI<Button>; } ... Howeve...

understanding Functors in STL

quoting from "The C++ Standard Library" by N M Jousttis, Section 5.9 #include < iostream> #include < list> #include < algorithm> using namespace std; //function object that adds the value with which it is initialized class AddValue { private: int the Value; //the value to add public: //constructor initializes t...

Inserting <string, function pointer> into map

I'm having trouble with inserting some value_pairs into a map. Here's the basic idea. // private typedef Foo* (*Bar)( const std::string &x, int y ); typedef std::map<std::string, Bar> myMap; template<class T> Foo* DoThing( const std::string &x, int y ) { return new T( x, y ); } myMap m_map; // some map insertion code m_map.insert( ...

Find array element by member value - what are "for" loop/std::map/Compare/for_each alternatives?

Example routine: const Armature* SceneFile::findArmature(const Str& name){ for (int i = 0; i < (int)armatures.size(); i++) if (name == armatures[i].name) return &armatures[i]; return 0; } Routine's purpose is (obviously) to find a value within an array of elements, based on element's member variable, where ...

What thing hash_map stores as keys?

Hi all, I have an infinite streams of numbers coming and I have to detect the first duplicate element. I think of using hash table for the above problem i.e whenever a number arrives, check whether it is already there in the hash table or not. In case it has, stop otherwise add that number to hash table. Now my question is does hash tab...

Iterating over 2-dimensional STL vector c++

I'm currently trying to print out a history of movements for players in a game I am working on. At the end of each round every player has moved some amount in the positive or negative direction and this gets recorded as an int in the movement vector. Eventually I'm wanting to plot the directions moved vs time for each player but I'm havi...

C++ case multimap

I have a multimap defined by typedef std::pair<int, int> au_pair; //vertices typedef std::pair<int, int> acq_pair; //ch qlty specified by C typedef std::multimap<int, acq_pair> au_map; typedef au_map::iterator It_au; The no. of simulations depend on the size of the au_map. For eg: if the au_map.size() = 5 I will have C1, C2, C3, C4, C...

In game programming, what are the specific C++ or STL features that causes performance hogs ?

My question is mostly about STL than the rest of the C++ that can be compared (I guess) to be as much fast as C a long as classes aren't used at every corner. STL is standard for games and in engines like OGRE3D, but I was wondering that if STL's features are nice to use, the problem is while I don't really know how they work, I should ...

Reading a value in associative array creates a new key..

Hi, I have code such as this. I use pvalueholder is class that is polymorphic , it can hold all sort of types, string..etc.. It also can have a type undefined. typedef hash_map<pvalueholder,pvalueholder,pvaluehasher > hashtype; hashtype h; pvalueholder v; v="c"; h[v]=5; // h has one element pvalueholder v2=h[v]; // here h gets a new...

C++: Determine if map contains a value for a key?

What is the best way to determine if a STL map contains a value for a given key? #include <map> using namespace std; struct Bar { int i; }; int main() { map<int, Bar> m; Bar b = {0}; Bar b1 = {1}; m[0] = b; m[1] = b1; //Bar b2 = m[2]; map<int, Bar>::iterator iter = m.find(2); Bar b3 = iter->secon...

Is there a standard C++ class that is like QByteArray?

Is there a STL C++ class that works like QByteArray? ...

'__glibcxx_requires_valid_range' was not declared in this scope (xcode)

I'm trying to use in an Xcode (iphone) static library, and can't figure out this error. Anyone else had this before? It borks in the file stl_algobase.h at these places: __glibcxx_requires_valid_range(__first, __last); I've tried using GCC 4.0, but it always includes from here: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs...

conversion from std::vector<char> to wchar_t*

i'm trying to read ID3 frames and their values with TagLib (1) and index them with CLucene (2). the former returns frame ID's as std::vector<char> (3) and the latter writes field names as tchar* [wchar_t* in Linux] (4). i need to make a link between the two. how can i convert from std::vector<char> to wchar_t* by means of the STL? thank ...

assign values to selective items using STL multimap

typedef std::pair<int, bool> acq_pair; //edge, channel_quality typedef std::pair<int, acq_pair> ac_pair; typedef std::multimap<int, acq_pair> ac_map; typedef ac_map::iterator It_acq; int bits = acq_map.size(); std::cout << "bits = " << bits << std::endl; std::vector<std::vector<bool> > c_flags (1 << bits); for (i = 0; i < c_flags.siz...

Problem with syntax for std::binary_function usage

I'm a newbie at using the STL Algorithms and am currently stuck on a syntax error. My overall goal of this is to filter the source list like you would using Linq in c#. There may be other ways to do this in C++, but I need to understand how to use algorithms. My user-defined function object to use as my function adapter is struct is...

How to use set_intersection with std::set in VC++ ?

I'm trying to compile VC6 project with VC10... I obtain an error C2678 with set_intersection: I wrote some example to understand. Can anybody explain how to compile this snippets ? #include <vector> #include <algorithm> #include <iostream> #include <set> #include <string> int main( ) { using namespace std; typedef set<string> ...

Why are heaps in c++ implemented as algorithms instead of containers?

I was wondering why the heap concept is implemented as algorithms (make_heap, pop_heap, push_heap, sort_heap) instead of a container. I am especially interested is some one's solution can also explain why set and map are containers instead of similar collections of algorithms (make_set add_set rm_set etc). ...