To bring BoolFirstChild() more in line with the other methods, reimplemented it in terms of a new QueryBoolFirstChild().
diff --git a/tinyxml2.h b/tinyxml2.h
index 0492a29..0eae819 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -1014,7 +1014,8 @@
     XML_ERROR_PARSING,

 

     XML_CAN_NOT_CONVERT_TEXT,

-    XML_NO_TEXT_NODE

+    XML_NO_TEXT_NODE,

+	XML_NO_ELEMENT_NODE

 };

 

 

@@ -1419,9 +1420,17 @@
 

 

     /// Adds a sub-element equivalent to the given boolean.

-	void	SetBoolFirstChild( bool inBool );

+	void		SetBoolFirstChild( bool inBool );

 	

-	bool	BoolFirstChild();

+    /// Looks for a <true /> or <false /> as the first child and returns the corresponding bool.

+	bool		BoolFirstChild()

+	{

+		bool	b = false;

+		QueryBoolFirstChild(&b);

+		return b;

+	}

+

+	XMLError	QueryBoolFirstChild( bool *outBool );

 	

     /**

     	Convenience method to query the value of a child text node. This is probably best