1#ifndef ROSE_BinaryAnalysis_Concolic_Specimen_H 
    2#define ROSE_BinaryAnalysis_Concolic_Specimen_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_CONCOLIC_TESTING 
    5#include <Rose/BinaryAnalysis/Concolic/BasicTypes.h> 
    7#include <boost/filesystem.hpp> 
    9#ifdef ROSE_ENABLE_BOOST_SERIALIZATION 
   10#include <boost/serialization/access.hpp> 
   11#include <boost/serialization/nvp.hpp> 
   14#include <Sawyer/SharedObject.h> 
   15#include <Sawyer/SharedPointer.h> 
   20namespace BinaryAnalysis {
 
   33    typedef std::vector<uint8_t> BinaryData;
 
   36    mutable SAWYER_THREAD_TRAITS::Mutex mutex_;         
 
   38    std::string timestamp_;                             
 
   40    mutable bool read_only_;                            
 
   44    friend class boost::serialization::access;
 
   48        s & BOOST_SERIALIZATION_NVP(name_);
 
   49        s & BOOST_SERIALIZATION_NVP(content_);
 
   50        s & BOOST_SERIALIZATION_NVP(empty_);
 
   61    static Ptr instance(
const boost::filesystem::path &executableName);
 
   62    static Ptr instance();
 
   71    void open(
const boost::filesystem::path &executableName);
 
   96    std::string name() 
const;                           
 
   97    void name(
const std::string&);
 
  105    std::string printableName(
const DatabasePtr &db = DatabasePtr());
 
  108    void toYaml(std::ostream&, 
const DatabasePtr&, std::string prefix);
 
  120    std::string timestamp() 
const;
 
  121    void timestamp(
const std::string&);
 
  130    const std::vector<uint8_t>& content() 
const;
 
  136    void content(std::vector<uint8_t> binary_data);
 
Creates SharedPointer from this.
 
Base class for reference counted objects.
 
Reference-counting intrusive smart pointer.
 
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.
 
void serialize(std::ostream &output, Graph &graph)
Serialize a graph into a stream of bytes.