Feedback Query Manager
    Stores queries of feedback(float* fb_input) necessary for training
    the neural network in question.
  
FeedbackQuery
A Feedback Query, is composed of the following:
- neuron(Pointer to- FloatUnitNeuron)- Stores the reference/memory address to a neuron
 
- fb_input(Array of 2 floating point values)- Stores values that becomes the input of the feedback method
 
Structure and Functionalities
A Feedback Query Manager instance includes the following:
Public Methods
- FeedbackQueryManager()- Creates an instance of the class
 
- add_query(FeedbackQuery _new)- 
            Adds a 
 - FeedbackQueryinstance to an internal array in the current class
- void execute_all()- 
            Recursively executes all queries stored in the internal array in the
            current class
          
 
- print_current_queries()- 
            Prints all queries stored in the internal array in the current class
          
 
Private Variables
(Skip this section if you just want to use this preexisting class without custom modifications)
- query_list(Private array of- FeedbackQueryinstances)- 
            Stores queries of 
 - feedback(float* fb_input)generated by- execute()of a- FloatGlobalOperatorinstance and- feedback(float* fb_input)executed by its corresponding- FloatUnitNeuroninstance.
- num_query(Int variable)- 
            Number of queries stored in 
 - query_list
- 
          fb_futures(std::vectorofstd::future)- 
            Vector of feedback queries to be executed asynchronously
          
 - 
            CURRENTLY NOT IN USE.
          
 
Code
      The class
      is defined in the feedback_query/fb_query_manager.hpp and feedback_query/fb_query_manager.cppfile.
    
      Additionally, an option for executing queries asynchronously via multithreading is available.
      If you wish to execute using multithreading, change the value of
      ASYNC macro defined in the
      cpp file
      from 0 to 1.