Example #1
0
static unique_ptr<MappedFile> load(sfz::StringSlice resource_path) {
    return load_first(
               resource_path,
    {
        format("{0}/{1}", dirs().scenarios, sys.prefs->scenario_identifier()),
        format("{0}/{1}", dirs().scenarios, kFactoryScenarioIdentifier),
        application_path(),
    });
}
Example #2
0
 bool pop( T& value_ ) {
   MPSCNode<T>* first = const_cast<MPSCNode<T>*>( load_first( std::memory_order_relaxed ) );
   MPSCNode<T>* next = const_cast<MPSCNode<T>*>( first->load_next( std::memory_order_acquire ) );
   if( next ) {
     store_first( next, std::memory_order_relaxed );
     assign_or_move( value_, next->get_mutable_value() );
     delete first;
     return true;
   }
   return false;
 }
Example #3
0
 ~MPSCQueue() {
   MPSCNode<T>* first = const_cast<MPSCNode<T>*>( load_first( std::memory_order_relaxed ) );
   MPSCNode<T>* next;
   for( MPSCNode<T>* node = first; node; node = next ) {
     next = const_cast<MPSCNode<T>*>( node->load_next( std::memory_order_relaxed ) );
     delete node;
     if( next == first ) {
       break;
     }
   }
 }