#line 1271 "/home/travis/build/felix-lang/felix/src/packages/rtl-threads.fdoc"
  class LockFreeBag
  {
    type lf_bag = "::std::shared_ptr<::flx::pthread::pthread_lf_bag>"
      requires
        header '#include "pthread_lf_bag.hpp"',
        package "pthread",
        Cxx11_headers::memory
    ;
    // note: unmanaged container at the moment!!
    ctor lf_bag : size = """
       ::std::shared_ptr<::flx::pthread::pthread_lf_bag>
       (new ::flx::pthread::pthread_lf_bag(PTF gcp->collector->get_thread_control(),$1))
    """;
    proc enqueue : lf_bag * address = "$1->enqueue ($2);";
    gen dequeue : lf_bag -> address = "$1->dequeue ()";
    gen len : lf_bag -> size = "$1->n";
    gen used : lf_bag -> size = "$1->used.load()";
  }