c++

Using C++ to find out how many lines are in a text file

My C++ program needs to know how many lines are in a certain text file. I could do it with getline() and a while-loop, but is there a better way? ...

Where to add an overloaded operator for the tr1::array?

Since I need to add an operator& for the std::tr1::array<bool, N> I wrote the following lines template<std::size_t N> std::tr1::array<bool, N> operator& (const std::tr1::array<bool, N>& a, const std::tr1::array<bool, N>& b) { std::tr1::array<bool, N> result; std::transform(a.begin(), a.end(), b.begin(), result.begin(), ...

Disable debug output in libxml2 and xmlsec

Hi, In my software, I use libxml2 and xmlsec to manipulate (obviously) XML data structures. I mainly use XSD schema validation and so far, it works well. When the data structure input by the client doesn't match the XSD schema, libxml2 (or xmlsec) output some debug strings to the console. Here is an example: Entity: line 1: parser er...

Syntactical analysis with Flex/Bison part 2

Hallo, I need help in Lex/Yacc Programming. I wrote a compiler for a syntactical analysis for inputs of many statements. Now i have a special problem. In case of an Input the compiler gives the right output, which statement is uses, constant operator or a jmp instructor to which label, now i have to write so, if now a if statement com...

C++ Template Usage

If I have a template definition like the one below, can someone provide a code sample for how I would actually instantiate an instance of this with two of my own classes? template <class T1, class T2> class LookUpTable { public: LookUpTable(); void set(T1 x, T2* y); T2* get(T1 x); }; Thanks. ...

How do I know if a boost thread is done ?

I am using boost::thread to process messages in a queue. When a first message comes I start a message processing thread. When a second message comes I check if the message processing thread is done. if it is done I start a new one if it is not done I don nothing. How do I know if the thread is done ? I tried with joinable() but it is ...

weighted RNG speed problem in C++

Edit: to clarify, the problem is with the second algorithm. I have a bit of C++ code that samples cards from a 52 card deck, which works just fine: void sample_allcards(int table[5], int holes[], int players) { int temp[5 + 2 * players]; bool try_again; int c, n, i; for (i = 0; i < 5 + 2 * players; i++) { try_a...

make include directive and dependency generation with -MM

I want a build rule to be triggered by an include directive if the target of the include is out of date or doesn't exist. Currently the makefile looks like this: program_NAME := wget++ program_H_SRCS := $(wildcard *.h) program_CXX_SRCS := $(wildcard *.cpp) program_CXX_OBJS := ${program_CXX_SRCS:.cpp=.o} program_OBJS := $(program_CXX_OB...

Wrapping different versions of static library in dynamic libraries

In my project there is a dependency on a static library (just called libsomething from now on) from a 3rd party. Recently, libsomething has become available in another version. My task is to provide my software with support for the old and the new version. Only one version of libsomething is used at run-time at any given time, but which ...

a nicer way to create structs in a loop

Hi guys, I haven't coded in C++ in ages. And recently, I'm trying to work on something involving structs. Like this typedef struct{ int x; int y; } Point; Then in a loop, I'm trying to create new structs and put pointers to them them in a list. Point* p; int i, j; while (condition){ // compute values for i and j with som...

calling a function from static function

Hi, how can i call a function which computes with input parameters from an another static function. say, class X { static void xyz(); static int pqr(int, int); }; void X::xyz() { ...pqr(10,20); } int X::pqr(int t1, int t2) { return t1*t2; } ...

How would I convert decimal into binary?

All I really know is PHP and I used the decbin function etc, It was fairly easy to do. In this C++ program I want to do the same thing, just a simple number or string how would I do this? ...

GCC ABI compatibility

As far as I've understood, it is not possible to link libraries that use different versions of GCC's Application Binary Interface (ABI). Are there ABI changes to every version of GCC? Is it possible to link a library built with 4.3.1 if I use, say, GCC 4.3.2? Is there a matrix of some sort that lists all the ways I can combine GCC versio...

C++ Programming in Linux Platform

I am a software engineer and i work in VC++, C++ in WIndows OS. Are there any major differences when it comes to coding in C++ in Linux environment. Or is it just some adjustments that we have to make when we need to code in C++ in Linux. ...

File count in a directory using C++

How do I get the total number of files in a directory by using C++ standard library? Any help is appreciated. ...

C++ hash table implementation with collision handling

What is a good C++ library for hash tables / hash maps similar to what java offers. I have worked with Google Sparsehash, but it has no support for collisions. ...

Simple OOP-related question.

This question came to my mind quite a few times. Let my explain my question through an example. Say I've got two classes: 1- Grid. 2- Cell. Now the location of the cell 'should' be stored in the grid class, not in the cell class itself. Say that the cell wanted to get its location through a method in the grid. How can it do that? Kee...

Why does gdb show two different returns?

Hello all, Last week I was a debugging a code and a weird situation came up: gdb passes through two different return clauses. I made a simple example that illustrates the situation: #include <iostream> using namespace std; int test() { string a = "asd"; string b = "asd"; while (true) { if (a == b) { ...

'+=' : pointer on left; needs integral value on right

I am confused. I can not use this on a float? must it be a interger ?? I try to define that as a point but I guess I can not convert float to float * //global definition float g_posX = 0.0f; &g_posX -= 3.03f; ...

passing a float as a pointer to a matrix

Honestly, I couldnt think of a better title for this issue because I am having 2 problems and I don't know the cause. The first problem I have is this //global declaration float g_posX = 0.0f; ............. //if keydown happens g_posX += 0.03f; &m_mtxView._41 = g_posX; I get this error cannot convert from 'float' to 'float *' ...