<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lib.boost.user">
    <title>gmane.comp.lib.boost.user</title>
    <link>http://blog.gmane.org/gmane.comp.lib.boost.user</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78507"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78504"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78502"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78501"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78498"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78497"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78489"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78488"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78481"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78476"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78472"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78467"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78457"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78448"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78447"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78442"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78438"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78437"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78434"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lib.boost.user/78430"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78507">
    <title>64 bit or 32 bit?</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78507</link>
    <description>&lt;pre&gt;Hi,

 

I have a Windows 8 64 bit OS and would like to use Visual Studio Express
2012 for Windows 8. Should I install a 64 bit or 32 bit version of Boost?

 

Thanks,

Scott

 

_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Scott Alexander</dc:creator>
    <dc:date>2013-05-18T03:48:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78504">
    <title>[asio] schedule work on all threads of a singleio_service::run() pool?</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78504</link>
    <description>&lt;pre&gt;Greetings --

Is there a way to ask the io_service to distribute a particular
handler to every thread that is running the service?

My use case is per-thread watchdogs, and I need the worker threads to
ping the watchdog on some regular interval (e.g., every 5 seconds).

I didn't see anything like this in the docs, and I didn't see anything
that looked promising when I looked through the source.  (I'll freely
admit that the ASIO source is beyond my ability to comprehend it
without much more study, however.)

I can approximate it by having my worker threads do something like
this (pseudocode):

  while ( true )
  {
      boost::system::error_code ec;
      io_service::poll_one( ec );
      if ( ec == stopped )
          break;
      watchdog::ping();
      sleep( 500ms ); // trying to balance lag and wakeups
  }

But that has the obvious problems of lag and more wakeups than I
really need.  To make this hack work, I think I need some calls that
probably don't exist; instead of that "sleep" call, I would like to be
able to do something like a timed wait on a condition variable:

      io_service::all_threads_cond.timed_wait( 5s );

That way, I would only wake up every 5 seconds (to feed the watchdog),
unless the io_service sent a "notify_one" to the condition variable
and this thread happened to be picked.  Extra pings aren't much of an
issue, but it would be nice to minimize them.

Anyway.  I'll continue digging, but if anyone has suggestions, I'd
love to hear them.

Thanks in advance!

Best regards,
Anthony Foiani
&lt;/pre&gt;</description>
    <dc:creator>Anthony Foiani</dc:creator>
    <dc:date>2013-05-17T21:32:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78502">
    <title>[BGL]   assert(  source(* (out_edges(v, undigraph).first), undigraph) == v )</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78502</link>
    <description>&lt;pre&gt;Hello,

When I have an undirected graph, for edge_descriptor
source and target still are defined.

That is stated here:
http://www.boost.org/doc/libs/1_53_0/libs/graph/doc/graph_concepts.html


My question. Is

edge_descriptor ed  = * out_edges(v,undigraph).first;


Is there a requirement for graph implementations
that   source(ed,g) ==  v  ?

best regards,

andreas

&lt;/pre&gt;</description>
    <dc:creator>Andreas Fabri</dc:creator>
    <dc:date>2013-05-17T13:38:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78501">
    <title>[msm] interrupt_state with more then one event thatends interrupt?</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78501</link>
    <description>&lt;pre&gt;Hi,

Subj, Is that possible?
for example, one event continues processing, the another one finishes 
the whole state-machine (some clean-up actions etc).

I tried

struct Interrupt : public msmf::interrupt_state&amp;lt; boost::mpl::vector&amp;lt;Foo, 
Bar&amp;gt; &amp;gt; {};

and

struct Interrupt : public msmf::interrupt_state&amp;lt; msmf::ActionSequence_&amp;lt; 
boost::mpl::vector&amp;lt;Foo, Bar&amp;gt; &amp;gt; &amp;gt; {};

- has no effect.

Is there another way to achieve this?


_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Alexander Mingalev</dc:creator>
    <dc:date>2013-05-17T12:07:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78498">
    <title>which library to use:cleaning up singletons</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78498</link>
    <description>&lt;pre&gt;hello all:
I have a fairly large code base that has a lot of modules and systems. 
The problem is that I have a main "engine" object that holds pointers to 
a lot of created modules and components. I'm trying to find a more 
dynamic way to do this, and I thought boost might be able to help. As a 
result, I have a couple of questions.

First, I do a lot of manual adding of features. For example, when I add 
a new command I have to add a engine-&amp;gt;commands.AddCommand(new CMDFoo()); 
in an initialization method. Does boost provide some sort of mechenism 
for dynamically handling this?

I also plan on splitting up the main "engine" object and setting up the 
external modules as singletons. They act alone, but again I'd like to 
dynamically initialize these. Is there a way on entry to dynamically 
call specific singleton initialization methods, then at exit call their 
release methods?
I'd like to be able to set some sort of trait on these objects at 
compile-time that the runtime can use, or somehow generate the calls at 
compile-time.
Thanks in advance for any info,

&lt;/pre&gt;</description>
    <dc:creator>Littlefield, Tyler</dc:creator>
    <dc:date>2013-05-17T04:08:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78497">
    <title>[Boost.Atomic] Wait-free multi-producer queue examplebug?</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78497</link>
    <description>&lt;pre&gt;Hi,

In 
http://www.boost.org/doc/libs/1_53_0/doc/html/atomic/usage_examples.html#boost_atomic.usage_examples.mp_queue 
I see that pop_all_reverse() is implemented as:

node * pop_all_reverse(void)
{
   return head_.exchange(0, boost::memory_order_consume);
}

Shouldn't the memory order be memory_order_acquire in this example? If 
I'm not mistaken, at least an acquire is required to see all the writes 
from the thread that did the release.

GCC 4.8 also complains that memory_order_consume is not a correct memory 
ordering for exchange.

Thanks
&lt;/pre&gt;</description>
    <dc:creator>Ioannis Papadopoulos</dc:creator>
    <dc:date>2013-05-16T21:20:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78489">
    <title>[smart_ptr] Migrating from boost::shared_ptr&lt;&gt; tostd::shared_ptr&lt;&gt;</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78489</link>
    <description>&lt;pre&gt;Hi,

with recently acquired (semi) C++11 compiler (YEY!) I started to think
which of BOOST functionality could be replaced by standard counterparts.
First obvious candidates are smart pointers.

Thing is, there is lots of functions that take boost::shared_ptr&amp;lt;&amp;gt; as
arguments (or return them) and it is just not easy to do do. My questions:

- does it even make sense to switch to std::shared_ptr&amp;lt;&amp;gt; (should new
functions use std instead of boost)
- is there a way to easily convert one to another
- what are (if any) differences between std and boost versions

Regards,
Szymon Gatner
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Szymon Gatner</dc:creator>
    <dc:date>2013-05-16T10:12:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78488">
    <title>[SmartPtr] enable_shared_from_raw / weak_from_raw remains not associated</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78488</link>
    <description>&lt;pre&gt;I'm converting existing code with parent-child object tree to boost  
shared_ptr/weak_ptr with parents having [now shared] ownership over the  
children and children having weak reference to the parent. In the existing  
code a parent usually becomes the children as constructor parameters, and  
thus I have to extract the weak_ptr to "this" in constructor, which does  
not work with current boost::enable_shared_from_this implementation. So I  
am looking to enable_shared_from_raw alternative, which is promising, but  
unfortunately does not quite work for my case. Here is a small example  
demonstrating the issue:

test.cpp:

#include &amp;lt;boost/smart_ptr/enable_shared_from_raw.hpp&amp;gt;
#include &amp;lt;iostream&amp;gt;

struct Parent;

struct Child
{
     Child()
     {
         std::cout &amp;lt;&amp;lt; "Construct Child" &amp;lt;&amp;lt; std::endl;
     }
     ~Child()
     {
         std::cout &amp;lt;&amp;lt; "Destruct Child" &amp;lt;&amp;lt; std::endl;
     }

     boost::weak_ptr&amp;lt;Parent&amp;gt; parent;
};


struct Parent : public boost::enable_shared_from_raw
{
     Parent(boost::shared_ptr&amp;lt;Child&amp;gt; _child)
     {
         std::cout &amp;lt;&amp;lt; "Construct Parent" &amp;lt;&amp;lt; std::endl;
         this-&amp;gt;child = _child;
         this-&amp;gt;child-&amp;gt;parent = boost::weak_from_raw(this);
     }

     ~Parent()
     {
         std::cout &amp;lt;&amp;lt; "Destruct Parent" &amp;lt;&amp;lt; std::endl;
     }

     boost::shared_ptr&amp;lt;Child&amp;gt; child;
};

int main()
{
     boost::shared_ptr&amp;lt;Child&amp;gt; child(new Child());
     boost::shared_ptr&amp;lt;Parent&amp;gt; parent(new Parent(child));
     std::cout &amp;lt;&amp;lt; "child-&amp;gt;parent is " &amp;lt;&amp;lt; (child-&amp;gt;parent.lock() ? "not null"  
: "null") &amp;lt;&amp;lt; std::endl;
     parent.reset();
     std::cout &amp;lt;&amp;lt; "child must be alone" &amp;lt;&amp;lt; std::endl;
     std::cout &amp;lt;&amp;lt; "child-&amp;gt;parent is " &amp;lt;&amp;lt; (child-&amp;gt;parent.lock() ? "not null"  
: "null") &amp;lt;&amp;lt; std::endl;
     return 0;
}

`g++ -g -O0 test.cpp &amp;amp;&amp;amp; valgrind a.out` produces:
==8467== Memcheck, a memory error detector
==8467== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==8467== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==8467== Command: a.out
==8467==
Construct Child
Construct Parent
child-&amp;gt;parent is null
Destruct Parent
child must be alone
child-&amp;gt;parent is null
Destruct Child
==8467==
==8467== HEAP SUMMARY:
==8467==     in use at exit: 0 bytes in 0 blocks
==8467==   total heap usage: 4 allocs, 4 frees, 112 bytes allocated
==8467==
==8467== All heap blocks were freed -- no leaks are possible
==8467==
==8467== For counts of detected and suppressed errors, rerun with: -v
==8467== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)

The problem is that the weak_ptr to parent in child does not get  
associated properly, when shared_ptr to parent is finally complete. Do I  
expect too much from enable_shared_from_raw or did I hit some bug in the  
implementation? I'm using boost 1.53.0-2 on Archlinux.

&lt;/pre&gt;</description>
    <dc:creator>Slava</dc:creator>
    <dc:date>2013-05-16T09:58:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78481">
    <title>PROBLEM WITH BOOST MPI</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78481</link>
    <description>&lt;pre&gt;Hi friends,

I have to run distributed_delta_stepping with graphs in CSR fromat. So I
tried with "distributed_shortest_path_test.cpp" located at "&amp;lt;top of boost
source tree&amp;gt;/libs/graph_parallel/test/ ". It reads a random graph in
adjacency list format. But I have to run DIMACS_USA graph in CSR format.
So, I edited the code but it resulted in following errors. I guess I am
facing problems while representing a graph in CSR format..

CODE :

void test_distributed_shortest_paths(int n, double p, int c, int seed)
{

  char *graf = "./dimacs_USA_sort_wdup" ;

  typedef compressed_sparse_row_graph&amp;lt;directedS, VertexProperties,
WeightedEdge,
                                      no_property,
distributedS&amp;lt;mpi_process_group&amp;gt;

  typedef graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor vertex_descriptor;
  typedef graph_traits&amp;lt;Graph&amp;gt;::edge_descriptor edge_descriptor;
  typedef graph_traits&amp;lt;Graph&amp;gt;::vertex_iterator vertex_iterator;
  typedef graph_traits&amp;lt;Graph&amp;gt;::vertices_size_type vertices_size_type;
  typedef property_map&amp;lt;Graph, vertex_index_t&amp;gt;::type vertex_index_map;


    typedef std::pair&amp;lt;long int, long int&amp;gt; Edge;
    struct timeval starttime,endtime,timediff;

    gettimeofday(&amp;amp;starttime,0x0);

    char ch;
    long int num_nodes;
    long int num_arcs;
    Edge *edge_array;
    long int *weights;


    long int arc_index=0, wt_index=0;
    long int vert1, vert2, dist;

    std::fstream input;
    input.open(graf);

    if( !input.eof())
    {
        input &amp;gt;&amp;gt; ch;
        if(ch == 'vertex')
        {
            input &amp;gt;&amp;gt; num_nodes;

        }
    }

    if(!input.eof())
    {
        input &amp;gt;&amp;gt; ch;
        if(ch =='edge')
        {
            input &amp;gt;&amp;gt; num_arcs;

        }
        else
            std::cout &amp;lt;&amp;lt; "Wrong graph format\n";
     }

    edge_array=(Edge *)malloc(sizeof(Edge) * num_arcs);
    weights=(long int *)malloc(sizeof(long int) * num_arcs);


    while(!input.eof())
    {

        input &amp;gt;&amp;gt; ch;
        if(ch == 'arc')
         {
            input &amp;gt;&amp;gt; vert1 &amp;gt;&amp;gt; vert2  &amp;gt;&amp;gt; dist;
            Edge temp;
            temp.first=vert1;
            temp.second=vert2;

            edge_array[arc_index++]=temp;
            weights[wt_index++]=dist;
        }

    }


  gettimeofday(&amp;amp;endtime, 0x0);

  Graph g(edge_array, edge_array + num_arcs, weights, num_nodes);

  vertex_descriptor s = vertex(1, g);


  graph::distributed::delta_stepping_shortest_paths(g,
                                                    s,
                                                    dummy_property_map(),

get(&amp;amp;VertexProperties::distance,
g),

get(&amp;amp;WeightedEdge::weight, g));

}



But when I run the command  " mpirun -np 1  ./a.out"

I face the following errors.


**** Testing aborted.
**** 1 error detected
------------------------------
--------------------------------------------
mpirun has exited due to process rank 0 with PID 19096 on
node rise-02 exiting without calling "finalize". This may
have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------

Thank you in advance.
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>siva teja</dc:creator>
    <dc:date>2013-05-15T19:37:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78476">
    <title>[Graph] Problem with large vertex ids</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78476</link>
    <description>&lt;pre&gt;Hi all,

I'm trying to understand/fix some bugs in pgRouting that use the boost 
libraries. I know C not not C++, so I can understand most of the more 
C-ish parts. We have an old bug that I believe is caused when we add an 
edge and it has large vertex ids or when there is a large number between 
the min and max vertex numbers.

We currently identify the min id number and down shift the ids by that, 
but that does not help if I add an edge (1)-&amp;gt;(100000000). I could 
renumber all the nodes and then un-renumber them when done if I have to.

Questions:

1. is this a known limitiation in Boost graph?

2. is there a different type of adjacency list mechanism that does not 
have this issue

3. currently the code crashes the database backend, ideally I would like 
to catch any issues in the C++ wrapper, free memory and return an error 
code to the C caller so we don't kill the server or leak lots of memory.

Here is a link to our boost wrapper code:

https://github.com/pgRouting/pgrouting/blob/sew-devel-2_0/src/dijkstra/src/boost_wrapper.cpp

We use that pattern for a lot of functions so if there is a better 
pattern, I might be able to update most(all?) of the functions that use 
this.

I could really use some help resolving this issue.

Meanwhile, I'm off to write a C main() to run this outside of the 
database and in gdb to see whats happening.

Thanks,
   -Steve, trying to release pgRouting 2.0
&lt;/pre&gt;</description>
    <dc:creator>Stephen Woodbridge</dc:creator>
    <dc:date>2013-05-15T15:54:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78472">
    <title>directory monitoring with dynamically added dirs</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78472</link>
    <description>&lt;pre&gt;I'm trying to dynamically add directories from a config file before I enter
my programs main loop using the ASIO dir monitor example. I've not been
able to understand the internals yet. Below is my current iteration of what
I'm trying. I have been able to get the simple examples running just like
in the async.cpp file. But I can't get adding dirs dynamically working and
was hoping someone could offer suggestions.

Any help much appreciated.

void my_file_handler(const boost::system::error_code &amp;amp;ec,
    const boost::asio::dir_monitor_event &amp;amp;ev)
{
    // event stuff ...

    return;
}


    boost::asio::dir_monitor *dm;
    boost::asio::io_service io_service;
    vector&amp;lt;boost::asio::dir_monitor *&amp;gt; vecdm;

    for (vector&amp;lt;Directories&amp;gt;::iterator it = dirs-&amp;gt;begin();
            it != dirs-&amp;gt;end(); ++it) {
        dm = new boost::asio::dir_monitor(io_service);
        dm-&amp;gt;add_directory((*it).abs_dir_path);

        vecdm.push_back(dm);
    }

    boost::thread t =
        boost::thread(boost::bind(&amp;amp;boost::asio::io_service::run,
            boost::ref(io_service)));

    while (true) {
        // MAIN PROGRAM LOOP

        for (vector&amp;lt;boost::asio::dir_monitor *&amp;gt;::iterator it =
            vecdm.begin(); it != vecdm.end(); ++it) {

            (*it)-&amp;gt;async_monitor(my_file_handler);
        }

        io_service.reset();

        // DO PROGRAM STUFF ...
    }
~

~
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Richard Langly</dc:creator>
    <dc:date>2013-05-14T23:42:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78467">
    <title>(no subject)</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78467</link>
    <description>&lt;pre&gt;Hi
I have a problem with my code I using mpi.
The error is with mca_btl_tcp_frag_recv, and I don´t know what mean...
The error complete

[../../../../../../ompi/mca/btl/tcp/btl_tcp_frag.c:216:mca_btl_tcp_frag_recv]
mca_btl_tcp_frag_recv: readv failed: Connection timed out (110)

and

[btl_tcp_frag.c:216:mca_btl_tcp_frag_recv] mca_btl_tcp_frag_recv:
readv failed: Connection reset by peer (104)

I need some help...
&lt;/pre&gt;</description>
    <dc:creator>Yeni Lora</dc:creator>
    <dc:date>2013-05-14T15:10:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78457">
    <title>[msm] Injecting events to FSMs from differenttranslation units</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78457</link>
    <description>&lt;pre&gt;Hi,

I am using boost msm to design state machines for a relatively large
project.

The documentation online is pretty good and I was able to figure out most
features by looking at the sample code (thanks!).

My particular application  has multiple FSM instances active at any given
time, and what I would like to do is to be able to generate events for a
particular FSM instance from different translation units. But I'd like to
keep the the compile time at a minimum.

I found an answer from Christophe for a similar question sometime back
here: http://stackoverflow.com/questions/10899641/boost-msm-class

Since, I have multiple FSM instances it would not help to have a singleton
class with the FSM shared_ptr.

I am looking for ideas/suggestions/experiences for implementing this in an
elegant OO ways.

Thanks,
Samriti
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>samriti katoch</dc:creator>
    <dc:date>2013-05-13T21:27:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78448">
    <title>boost::addressof and std::nullptr_t</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78448</link>
    <description>&lt;pre&gt;Hello,

With MSVC 2010 the following code fails to compile :

     std::nullptr_t np;
     boost::addressof( np );

The error being :

1&amp;gt;....\boost/utility/addressof.hpp(59): error C2666: 
'boost::detail::addressof_impl&amp;lt;T&amp;gt;::f' : 2 overloads have similar conversions
1&amp;gt;          with
1&amp;gt;          [
1&amp;gt;              T=std::nullptr_t
1&amp;gt;          ]
1&amp;gt;          ....\boost/utility/addressof.hpp(43): could be 
'std::nullptr_t *boost::detail::addressof_impl&amp;lt;T&amp;gt;::f(T *,int)'
1&amp;gt;          with
1&amp;gt;          [
1&amp;gt;              T=std::nullptr_t
1&amp;gt;          ]
1&amp;gt;          ....\boost/utility/addressof.hpp(37): or 'std::nullptr_t 
*boost::detail::addressof_impl&amp;lt;T&amp;gt;::f(T &amp;amp;,long)'
1&amp;gt;          with
1&amp;gt;          [
1&amp;gt;              T=std::nullptr_t
1&amp;gt;          ]
1&amp;gt;          while trying to match the argument list 
'(boost::detail::addr_impl_ref&amp;lt;T&amp;gt;, int)'
1&amp;gt;          with
1&amp;gt;          [
1&amp;gt;              T=std::nullptr_t
1&amp;gt;          ]
1&amp;gt;          ....blabla.cpp(356) : see reference to function template 
instantiation 'T *boost::addressof&amp;lt;std::nullptr_t&amp;gt;(T &amp;amp;)' being compiled
1&amp;gt;          with
1&amp;gt;          [
1&amp;gt;              T=std::nullptr_t
1&amp;gt;          ]

Can this be considered a bug in boost::addressof ?

As a side note it compiles with std::addressof which implementation for 
MSVC 2010 is simply :

template&amp;lt;class _Ty&amp;gt; inline
     _Ty * addressof(_Ty&amp;amp; _Val)
     {    // return address of _Val
     return ((_Ty *) &amp;amp;(char&amp;amp;)_Val);
     }

Thank you,
MAT.
&lt;/pre&gt;</description>
    <dc:creator>Mathieu Champlon</dc:creator>
    <dc:date>2013-05-12T06:05:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78447">
    <title>Constraining unordered template constructors</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78447</link>
    <description>&lt;pre&gt;I have a class that I want to have accept 0-5 arguments in any order for 
it's constructor. Each argument is a const references to one of 5 
possible class types. All arguments must be distinct in type, passing 
the same type twice in an error. Passing an argument that is not one of 
the 5 supported types is also an error.

How do you go about implementing something like this?

I figure first you have to create a constructor for each arity but then 
how do you constrain the constructors as described above? I imagine it 
would involve enable_if.

class widget
{
   widget();

   template&amp;lt; class A &amp;gt;
   widget( const A&amp;amp; a );

   template&amp;lt; class A, class B &amp;gt;
   widget( const A&amp;amp; a, const B&amp;amp; b );

   template&amp;lt; class A, class B, class C &amp;gt;
   widget( const A&amp;amp; a, const B&amp;amp; b, const C&amp;amp; c );

   template&amp;lt; class A, class B, class C, class D &amp;gt;
   widget( const A&amp;amp; a, const B&amp;amp; b, const C&amp;amp; c, const D&amp;amp; d );

   template&amp;lt; class A, class B, class C, class D, class E &amp;gt;
   widget( const A&amp;amp; a, const B&amp;amp; b, const C&amp;amp; c, const D&amp;amp; d, const E&amp;amp; e );
};
&lt;/pre&gt;</description>
    <dc:creator>Michael Marcin</dc:creator>
    <dc:date>2013-05-12T04:37:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78442">
    <title>Compile error using boost 1.53.0, clang,libstdc++ and C++11</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78442</link>
    <description>&lt;pre&gt;Hi,

at the moment I try to compile a project that is using boost on my mac.
The project is using c++11 features so I need to use clang with libstdc++.
I compiled boost with:

|./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++"

|


It seems that trying to include
"boost/date_time/gregorian/gregorian.hpp" leads to the compile error
below. Googling I found some remarks about char16_t and char32_t types
new in C++-11. Is that compiler/library combination in boost not
supported yet? Has anyone successfully got that combination to work?


Best Regards,

Roman Himmes


In file included from basic_log_setup.cpp:1:
In file included from ./basic_log_setup.hpp:6:
In file included from ../../../cryptotec/cryptotec/base/basic_types.hpp:5:
In file included from
/Users/username/Development/3rdParty/boost_1_53_0/boost/date_time/gregorian/gregorian.hpp:20:
In file included from
/Users/username/Development/3rdParty/boost_1_53_0/boost/date_time/gregorian/gregorian_types.hpp:25:
In file included from
/Users/username/Development/3rdParty/boost_1_53_0/boost/date_time/date_generators.hpp:17:
In file included from /usr/bin/../lib/c++/v1/sstream:175:
/usr/bin/../lib/c++/v1/istream:278:26: error: implicit instantiation of
undefined template 'std::__1::ctype&amp;lt;unsigned int&amp;gt;'
                if (!__ct.is(__ct.space, *__i))
                         ^
/usr/bin/../lib/c++/v1/istream:1593:57: note: in instantiation of member
function 'std::__1::basic_istream&amp;lt;unsigned int,
std::__1::char_traits&amp;lt;unsigned int&amp;gt; &amp;gt;::sentry::sentry' requested here
        typename basic_istream&amp;lt;_CharT, _Traits&amp;gt;::sentry __sen(__is, true);
                                                        ^
basic_log_setup.cpp:107:2: note: in instantiation of function template
specialization 'std::__1::getline&amp;lt;unsigned int,
std::__1::char_traits&amp;lt;unsigned int&amp;gt;, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;'
      requested here
        std::getline(in, out1.codepoints(), separator);
        ^
/usr/bin/../lib/c++/v1/__locale:388:47: note: template is declared here
template &amp;lt;class _CharT&amp;gt; class _LIBCPP_VISIBLE ctype;
                                              ^
/usr/bin/../lib/c++/v1/__locale:171:54: error: implicit instantiation of
undefined template 'std::__1::ctype&amp;lt;unsigned int&amp;gt;'
    return static_cast&amp;lt;const _Facet&amp;amp;&amp;gt;(*__l.use_facet(_Facet::id));
                                                     ^
/usr/bin/../lib/c++/v1/istream:274:41: note: in instantiation of
function template specialization
'std::__1::use_facet&amp;lt;std::__1::ctype&amp;lt;unsigned int&amp;gt; &amp;gt;' requested here
            const ctype&amp;lt;_CharT&amp;gt;&amp;amp; __ct = use_facet&amp;lt;ctype&amp;lt;_CharT&amp;gt;
                                        ^
/usr/bin/../lib/c++/v1/istream:1593:57: note: in instantiation of member
function 'std::__1::basic_istream&amp;lt;unsigned int,
std::__1::char_traits&amp;lt;unsigned int&amp;gt; &amp;gt;::sentry::sentry' requested here
        typename basic_istream&amp;lt;_CharT, _Traits&amp;gt;::sentry __sen(__is, true);
                                                        ^
basic_log_setup.cpp:107:2: note: in instantiation of function template
specialization 'std::__1::getline&amp;lt;unsigned int,
std::__1::char_traits&amp;lt;unsigned int&amp;gt;, std::__1::allocator&amp;lt;unsigned int&amp;gt; &amp;gt;'
      requested here
        std::getline(in, out1.codepoints(), separator);
        ^
/usr/bin/../lib/c++/v1/__locale:388:47: note: template is declared here
template &amp;lt;class _CharT&amp;gt; class _LIBCPP_VISIBLE ctype;
                                              ^
In file included from basic_log_setup.cpp:1:




_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Roman Himmes</dc:creator>
    <dc:date>2013-05-11T10:51:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78438">
    <title>CANNOT COMPILE BOOST 153 WITH GCC-4.8</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78438</link>
    <description>&lt;pre&gt;Hi guys,
I've tried to compile boost 153 with gcc-4.8 and two weird things are
happening.

1 - a bunch of warning during compile time
2 - any program using boost thread errors out :

Threading support unavaliable: it has been explicitly disabled with
BOOST_DISABLE_THREADS"

Can you please help me figure out what I'm doing wrong
Thank you
--
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Didier J-P Guion Firmin</dc:creator>
    <dc:date>2013-05-10T17:57:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78437">
    <title>[lockfree] overwriting push?</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78437</link>
    <description>&lt;pre&gt;I'm using boost::lockfree::spsc_queue in an audio graph to allow audio
input samples written from one thread to be read from another. This
currently looks like:


#include &amp;lt;boost/lockfree/spsc_queue.hpp&amp;gt;
class RingBuffer {
public:
RingBuffer() : mLockFreeQueue( 0 ) {}

RingBuffer( size_t size ) : mLockFreeQueue( size + 1 ), mSize( size ) {}
~RingBuffer() {}

//! pushes to buffer, overwriting oldest samples
void write( const float *samples, size_t count ) {
if( count &amp;gt; mSize ) {
count = mSize;
}
size_t numPushed = mLockFreeQueue.push( samples, count );
if( count &amp;gt; numPushed ) {
size_t numLeft = count - numPushed;
// ???: is there a more efficient way to overwrite?
float old;
for( int i = 0; i &amp;lt; numLeft; i++ ) {
mLockFreeQueue.pop( old );
}
numPushed = mLockFreeQueue.push( &amp;amp;samples[numPushed], numLeft );
assert( numPushed == numLeft );
}
}

size_t read( float *samples, size_t count ) {
if( count &amp;gt; mSize ) {
count = mSize;
}
return mLockFreeQueue.pop( samples, count );
}

private:
boost::lockfree::spsc_queue&amp;lt;float&amp;gt; mLockFreeQueue;
size_t mSize;
};


If there is not enough space in the write call, I sequentially pop off
elements until there is enough.  Is there a better way to do this?  It
seems like there should be a mechanism for just moving the read head
forward (atomically) without reading anything, but then I am not sure I
completely understand the implications of that on the lockfree model.  I'm
also not 100% sure this is adhering to the lockfree model, so please inform
me if/how it isn't if you know.

Thank you for your time,
Rich
_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>Rich E</dc:creator>
    <dc:date>2013-05-10T17:16:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78434">
    <title>Boost Serialization now results in a compiler error - I have a fix, but I'm still unsure as to the cause</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78434</link>
    <description>&lt;pre&gt;Dear boosters,

I work with Cinder, creating an audio mixing app. Having recently 
reached a milestone, I've upgraded from Vs2010 to Vs2012 as well as to 
the latest Cinder (0.8.5) which also upgraded boost to 1.53.

While porting some code over that uses Serialization, I suddenly 
provoked the following compiler error:

error C4308: negative integral constant converted to unsigned type

pointing me at the following code in in the boost print.hpp:

template &amp;lt;class T&amp;gt;
struct print
     : mpl::identity&amp;lt;T&amp;gt;
#if defined(__MWERKS__)
     , aux::print_base
#endif
{
#if defined(BOOST_MSVC)
     enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__)
     void f(int);
#else
     enum {
         n =
# if defined(__EDG_VERSION__)
            aux::dependent_unsigned&amp;lt;T&amp;gt;::value &amp;gt; -1
# else
            sizeof(T) &amp;gt; -1
# endif
         };
#endif
};

It's specifically the 'enum { n = sizeof(T) + -1 };' which triggers the 
error. I simplified my code, and it seems to occur regardless of what I 
do when I use the &amp;lt;&amp;lt; operator to serialize the simple object I'm working 
with.

Googling the issue turned up someone else in the same boat who received 
the same message as a warning, rather than a distinct *error*. The 
advice given was among other things to issue the following macro:

(http://lists.boost.org/boost-users/2010/05/59103.php)
BOOST_CLASS_TRACKING(mySimpleObject, boost::serialization::track_never)

My question is simply if someone else has experienced something similar 
after upgrading to vs2012 or perhaps knows what is causing it?

Given that I've not touched my code, and it seems to me that simply 
upgrading provoked this issue, I'm leaning towards assuming it's a 
recent computability issue between boost and msvc?

Regards,
Gazoo
&lt;/pre&gt;</description>
    <dc:creator>Lasse Laursen</dc:creator>
    <dc:date>2013-05-10T07:32:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78430">
    <title>Problems with MPI and PBGL</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78430</link>
    <description>&lt;pre&gt;


_______________________________________________
Boost-users mailing list
Boost-users&amp;lt; at &amp;gt;lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users&lt;/pre&gt;</description>
    <dc:creator>siva teja</dc:creator>
    <dc:date>2013-05-10T01:51:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lib.boost.user/78419">
    <title>UDP: socket::open does not take an endpoint</title>
    <link>http://comments.gmane.org/gmane.comp.lib.boost.user/78419</link>
    <description>&lt;pre&gt;Hello,

boost::asio::ip::udp::socket offers two ways to open:

a) pass io_service and endpoint to the socket::socket

b) pass io_service to socket::socket, then call socket::open

===

The UDP async server example uses method (a):

boost::asio::ip::udp::socket Socket(
  IoService,
  boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), 13));

===

Question 1:

Why doesn't boost UDP allow me to use method (b) with an endpoint?
For example, this is impossible:

  boost::asio::ip::udp::socket Socket(IoService);

  Socket.open(boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), 13));

  // error: open does not take a boost::asio::ip::udp::endpoint

===

Question 2:

How can I modify the UDP async server example to use method (b)?

Thank you,

Chris
&lt;/pre&gt;</description>
    <dc:creator>Chris Stankevitz</dc:creator>
    <dc:date>2013-05-08T20:01:06</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lib.boost.user">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lib.boost.user</link>
  </textinput>
</rdf:RDF>
