soar_ros Logo
  • C++ API
    • Class Hierarchy
    • File Hierarchy
    • Full C++ API
      • Namespaces
        • Namespace rclcpp
        • Namespace soar_ros
          • Namespaces
          • Classes
          • Functions
        • Namespace soar_ros::soar_ros
          • Classes
      • Classes and Structs
        • Template Class Client
          • Inheritance Relationships
            • Base Types
          • Class Documentation
            • Client
              • Client::Client()
              • Client::~Client()
              • Client::parse()
              • Client::parse()
              • Client::getTopic()
              • Client::getAgent()
              • Client::run()
              • Client::m_client
              • Client::m_topic
              • Client::m_node
              • Client::m_pAgent
              • Client::m_send_client_requests
              • Client::isRunning
        • Template Class Publisher
          • Inheritance Relationships
            • Base Types
          • Class Documentation
            • Publisher
              • Publisher::Publisher()
              • Publisher::~Publisher()
              • Publisher::run()
              • Publisher::parse()
              • Publisher::getTopic()
              • Publisher::getAgent()
              • Publisher::pub
        • Template Class Service
          • Inheritance Relationships
            • Base Types
          • Class Documentation
            • Service
              • Service::Service()
              • Service::~Service()
              • Service::parse()
              • Service::parse()
              • Service::getTopic()
              • Service::getAgent()
              • Service::callback()
              • Service::m_service
              • Service::m_topic
              • Service::m_node
              • Service::m_pAgent
        • Template Class Input
          • Inheritance Relationships
            • Base Type
            • Derived Type
          • Class Documentation
            • Input
              • Input::Input()
              • Input::~Input()
              • Input::parse()
              • Input::process_r2s()
              • Input::m_r2sQueue
        • Class InputBase
          • Inheritance Relationships
            • Derived Types
          • Class Documentation
            • InputBase
              • InputBase::process_r2s()
        • Class Interface
          • Inheritance Relationships
            • Derived Types
          • Class Documentation
            • Interface
              • Interface::getTopic()
              • Interface::getAgent()
        • Template Class Output
          • Inheritance Relationships
            • Base Type
            • Derived Type
          • Class Documentation
            • Output
              • Output::Output()
              • Output::~Output()
              • Output::process_s2r()
              • Output::parse()
              • Output::m_s2rQueue
        • Class OutputBase
          • Inheritance Relationships
            • Derived Types
          • Class Documentation
            • OutputBase
              • OutputBase::process_s2r()
        • Template Class SafeQueue
          • Class Documentation
            • SafeQueue
              • SafeQueue::push()
              • SafeQueue::pop()
              • SafeQueue::tryPop()
        • Class SoarRunner
          • Inheritance Relationships
            • Base Type
          • Class Documentation
            • SoarRunner
              • SoarRunner::SoarRunner()
              • SoarRunner::debuggerLaunch()
              • SoarRunner::getSoarKernelStatus()
              • SoarRunner::runSoarKernel()
              • SoarRunner::stopSoarKernel()
              • SoarRunner::addAgent()
              • SoarRunner::~SoarRunner()
              • SoarRunner::getAgent()
              • SoarRunner::addPublisher()
              • SoarRunner::addPublisher()
              • SoarRunner::addSubscriber()
              • SoarRunner::addService()
              • SoarRunner::addService()
              • SoarRunner::addClient()
              • SoarRunner::addClient()
              • SoarRunner::startThread()
              • SoarRunner::stopThread()
              • SoarRunner::updateWorld()
        • Template Class Subscriber
          • Inheritance Relationships
            • Base Types
          • Class Documentation
            • Subscriber
              • Subscriber::Subscriber()
              • Subscriber::~Subscriber()
              • Subscriber::callback()
              • Subscriber::getTopic()
              • Subscriber::getAgent()
              • Subscriber::sub
              • Subscriber::m_topic
              • Subscriber::m_node
              • Subscriber::m_pAgent
      • Functions
        • Function soar_ros::SoarPrintEventHandler
          • Function Documentation
            • SoarPrintEventHandler()
        • Function soar_ros::updateEventHandler
          • Function Documentation
            • updateEventHandler()
      • Variables
        • Variable m_cond
          • Variable Documentation
            • m_cond
        • Variable m_mutex
          • Variable Documentation
            • m_mutex
        • Variable m_queue
          • Variable Documentation
            • m_queue
        • Variable m_r2sQueue
          • Variable Documentation
            • m_r2sQueue
        • Variable m_s2rQueue
          • Variable Documentation
            • m_s2rQueue
      • Defines
        • Define SOAR_ROS__INTERFACE_HPP_
          • Define Documentation
        • Define SOAR_ROS__SAFEQUEUE_HPP_
          • Define Documentation
      • Directories
        • Directory include
          • Subdirectories
        • Directory soar_ros
          • Files
      • Files
        • File Client.hpp
          • Definition (include/soar_ros/Client.hpp)
            • Program Listing for File Client.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
          • Defines
        • File Interface.hpp
          • Definition (include/soar_ros/Interface.hpp)
            • Program Listing for File Interface.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
          • Variables
        • File Publisher.hpp
          • Definition (include/soar_ros/Publisher.hpp)
            • Program Listing for File Publisher.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
        • File SafeQueue.hpp
          • Definition (include/soar_ros/SafeQueue.hpp)
            • Program Listing for File SafeQueue.hpp
          • Detailed Description
          • Includes
          • Included By
          • Namespaces
          • Classes
          • Variables
        • File Service.hpp
          • Definition (include/soar_ros/Service.hpp)
            • Program Listing for File Service.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
        • File soar_ros.hpp
          • Definition (include/soar_ros/soar_ros.hpp)
            • Program Listing for File soar_ros.hpp
          • Includes
        • File SoarRunner.hpp
          • Definition (include/soar_ros/SoarRunner.hpp)
            • Program Listing for File SoarRunner.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
          • Functions
        • File Subscriber.hpp
          • Definition (include/soar_ros/Subscriber.hpp)
            • Program Listing for File Subscriber.hpp
          • Includes
          • Included By
          • Namespaces
          • Classes
  • Standard Documents
    • CHANGELOG
      • Changelog for package soar_ros
        • 0.0.2 (2024-12-17)
        • 0.0.1 (2024-09-13)
    • CONTRIBUTING
      • Contributing
        • Mandatory Checks
        • Code Style
    • LICENSE
    • PACKAGE
    • README
      • soar_ros: A ROS 2 Interface for Soar
        • Features
        • Definition and description of the public API
        • Examples
          • Publisher
          • Service
        • How to build and install
        • How to build and run tests
        • How to build documentation
        • How to develop
        • Usage
        • License
        • Acknowledgements
  • Documentation
    • About
    • Class Diagrams
    • ROS Interface
    • Software Architecture
    • Soar Test Agent for Development
  • Index
soar_ros
  • C++ API
  • File SafeQueue.hpp
  • View page source

File SafeQueue.hpp

↰ Parent directory (include/soar_ros)

Implementation of a thread safe queue.

Contents

  • Definition (include/soar_ros/SafeQueue.hpp)

  • Detailed Description

  • Includes

  • Included By

  • Namespaces

  • Classes

  • Variables

Definition (include/soar_ros/SafeQueue.hpp)

  • Program Listing for File SafeQueue.hpp

Detailed Description

2023-12-08

https://www.geeksforgeeks.org/implement-thread-safe-queue-in-c/

Includes

  • condition_variable

  • iostream

  • mutex

  • optional

  • queue

Included By

  • File Client.hpp

  • File Interface.hpp

  • File Publisher.hpp

  • File Service.hpp

  • File Subscriber.hpp

  • File soar_ros.hpp

Namespaces

  • Namespace soar_ros

Classes

  • Template Class SafeQueue

Variables

  • Variable m_cond

  • Variable m_mutex

  • Variable m_queue

Previous Next

© Copyright The soar_ros Contributers. License: Apache License 2.0.

Built with Sphinx using a theme provided by Read the Docs.