| 
				
			 | 
			
			 | 
			@@ -97,6 +97,9 @@ namespace CodeDweller { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      /// Override streambuf::underflow(). | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      int_type underflow(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      /// Fill the buffer. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      //void fillBuffer(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      /// Copy constructor not implemented. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      ReadStreambuf(const ReadStreambuf &); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
			| 
				
			 | 
			
			 | 
			@@ -222,6 +225,14 @@ namespace CodeDweller { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /// Input stream to read data from the child's standard output. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    std::istream reader; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /** Get the number of bytes available for input. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				@returns number of bytes that can be read from reader without | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				blocking. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ssize_t inputBytesAvailable(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /// Output stream to write data to the child's standard input. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    std::ostream writer; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
			| 
				
			 | 
			
			 | 
			@@ -232,14 +243,6 @@ namespace CodeDweller { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    void run(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /** Check if input is available. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				\returns true if at least one character is available for | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				reading. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //bool hasData(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /** Terminite the child process. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				\throws runtime_error if an error occurs. |