I have no idea what it is you are doing. I thought the time data was the payload. If your payload is variable with each buffer, then it is pretty inefficient to use a fixed size payload.
Looks like you aren't taking advantage of c++ at all. this looks like c with classes approach with boost?
Code:
#include <windows.h>
#include <ctime>
#include <string>
#include <iostream>
#include <boost/circular_buffer.hpp>
#include <boost/foreach.hpp>
using namespace std;
using namespace boost;
string getDateTime()
{
time_t rawtime = time(NULL);
tm* timeinfo = gmtime(&rawtime);
char szTime[30];
strftime(szTime, 30, "%a, %d %b %Y %X GMT", timeinfo);
return szTime;
}
struct Buffer
{
string payload;
int user;
Buffer() : payload(), user() { }
Buffer( const string& payload, int user ) : payload(payload), user(user) { }
};
int main()
{
const int numbuff = 3;
circular_buffer<Buffer> cb(numbuff);
// Insert elements
cout << "Push elements:" << endl;
for( int i = 0; i < 5; i++ )
{
cb.push_back( Buffer( getDateTime(), i ) );
Sleep(1000);
}
// Show elements:
cout << "Show elements:" << endl;
BOOST_FOREACH( Buffer Record, cb )
cout << Record.payload << endl;
system("pause");
return 0;
}
This is more c++ than the c approach , but understanding how and why to use string, constructors, containers and etc will take time. If this isn't what you require, just state what is wrong with the above code.
I have no idea what it is you are doing. I thought the time data was the payload. If your payload is variable with each buffer, then it is pretty inefficient to use a fixed size payload.
even if payload is big enough (fixed) to store a variable size?
This is more c++ than the c approach , but understanding how and why to use string, constructors, containers and etc will take time. If this isn't what you require, just state what is wrong with the above code.
I might deal with /char/ (or unsigned char) data returned by some other functions....
I know I could cast to char to string...Yet, I'd like to stick with char for the moment
I mean, binary string mostly (unsigned char) the getDateTime() is just a way to fill the buffer with something for the moment...in the near future I'll be dealing with binary string only in my application
This is more c++ than the c approach , but understanding how and why to use string, constructors, containers and etc will take time. If this isn't what you require, just state what is wrong with the above code.
Bookmarks