add an accessor method for the underlying ::FLAC__StreamMetadata object
diff --git a/include/FLAC++/metadata.h b/include/FLAC++/metadata.h
index 500b5b1..08b15b0 100644
--- a/include/FLAC++/metadata.h
+++ b/include/FLAC++/metadata.h
@@ -197,6 +197,15 @@
 			 *   \code is_valid() \endcode
 			 */
 			void set_is_last(bool);
+
+			/** Returns a pointer to the underlying ::FLAC__StreamMetadata
+			 *  object.  This can be useful for plugging any holes between
+			 *  the C++ and C interfaces.
+			 *
+			 * \assert
+			 *   \code is_valid() \endcode
+			 */
+			inline operator const ::FLAC__StreamMetadata *() const;
 		private:
 			/** Private and undefined so you can't use it. */
 			Prototype();
@@ -227,6 +236,9 @@
 		inline bool Prototype::is_valid() const
 		{ return 0 != object_; }
 
+		inline Prototype::operator const ::FLAC__StreamMetadata *() const
+		{ return object_; }
+
 		/** Create a deep copy of an object and return it. */
 		FLACPP_API Prototype *clone(const Prototype *);