The unmodified subscription example generated by rtiddsgen using the C++11 option for the -language flag.
- See Also
 - Subscription Example
 
#include <algorithm>
#include <iostream>
#include <dds/sub/ddssub.hpp>
#include <dds/core/ddscore.hpp>
#include "Foo.hpp"
{
    
    int count = 0;
    for (const auto& sample : samples) {
        if (sample.info().valid()) {
            count++;
            std::cout << sample.data() << std::endl;
        }   
    }
    return count; 
} 
int subscriber_main(
int domain_id, 
int sample_count)
 
{
    
    
    
    
    int count = 0;
        reader,
        [&reader, &count]()
    {
        count += process_data(reader);
    }
    );
    
    waitset += read_condition;
    while (count < sample_count || sample_count == 0) {
        
        
        std::cout << "MyOtherType subscriber sleeping for 4 sec..." << std::endl;
    }
    return 1;
}
int main(int argc, char *argv[])
{
    int domain_id = 0;
    int sample_count = 0; 
    if (argc >= 2) {
        domain_id = atoi(argv[1]);
    }
    if (argc >= 3) {
        sample_count = atoi(argv[2]);
    }
    
    
    
    try {
        subscriber_main(domain_id, sample_count);
    } catch (const std::exception& ex) {
        
        std::cerr << "Exception in subscriber_main(): " << ex.what() << std::endl;
        return -1;
    }
    
    
    
    
    
    return 0;
}