@.=     None3579CgInternal type that represents a pointer to a C++ callback object (callback impl object, specifically).+Containers that can be created from a list.For a container Cont! holding values with C-side type Foo and Haskell-side type Bar, if the container uses - then the following instance is recommended: instance FromContents Cont FooIf the container uses - then the following instance is recommended: instance HasContents Cont BarNo instances for  ContConst[ are needed because it is easy enough to cast the resulting collection to a const pointer.?Creates and returns a new container holding the given elements.4Containers whose contents can be convered to a list.For a container Cont! holding values with C-side type Foo and Haskell-side type Bar, if the container uses / then the following instances are recommended: Einstance HasContents ContConst FooConst instance HasContents Cont FooIf the container uses / then the following instances are recommended: @instance HasContents ContConst Bar instance HasContents Cont BarGExtracts the contents of a container, returning the elements in a list.A typeclass for converting references to C++ values into Haskell values. What this means depends on the type of C++ value. Pointers to numeric types and to other pointers (i.e.  ( ...))) are decodable by peeking at the value.YFor a C++ class that also has a native Haskell representation (e.g. value types such as  std::string), this typeclass allows converting a C++ heap object into a Haskell value based on the defined conversion. Decoding from both the non-const and const objects is supported. See also  . YFor a C++ class that also has a native Haskell representation (e.g. value types such as  std::string), this typeclass allows converting a Haskell value into a C++ object on the heap. Encoding to both the non-const and const objects is supported.VBecause the functional dependency points in the direction it does, calls of the form   value are ambiguously typed, so ' is provided to resolve the ambiguity.Prefer  over calling  1 directly, to manage the lifetime of the object. See also . `A typeclass for references to C++ values that can be assigned to. This includes raw pointers (O), as well as pointers to object types that have an assignment operator (see ).  assign x v assigns the value v at the location pointed to by x.SC++ values that can be deleted. All C++ classes bound by Hoppy have instances of  Deletable. Deletes the object with the C++ delete operator.sAn instance of this class represents a pointer to a C++ object. All C++ classes bound by Hoppy have instances of CppPtr.Polymorphic null pointer.Converts to a regular pointer.*A numeric type representing a C++ boolean..Converts between integral types by going from a to b, and also round-tripping the b value back to an a value. If the two a1 values don't match, then an error is signalled.7Takes a dummy argument to help with type resolution of  , a la '. For example, for a C++ pointer type  StdString+ that gets converted to a regular haskell , the expected usage is: 3str :: String encodeAs (undefined :: StdString) str-Decodes a C++ object to a Haskell value with  %, releases the original object with !, then returns the Haskell value.Temporarily encodes the Haskell value into a C++ object and passes it to the given function. When the function finishes, the C++ object is deleted.withScopedPtr m f runs m% to get a pointer, which is given to f to execute. When f" finishes, the pointer is deleted.2A global constant function pointer that points to .-  !"#$%&'()*+,-./012   #    !"#$%&'()*+,-./0123        !"#"$%&'()*+,-./0123456789:;hoppy_4JexefLAeul57wJukuCgWmForeign.Hoppy.RuntimeForeign.Hoppy.Generator.Std ConvertPtr ConvertValue)Foreign.Hoppy.Generator.Spec.ClassFeature AssignablebaseForeign.C.TypesCUChar CCallback FromContents fromContents HasContents toContents Decodabledecode Encodableencodeassign DeletabledeleteCppPtrnullptrtoPtrCBoolcoerceIntegralencodeAsdecodeAndDelete withCppObj withScopedPtrfreeHaskellFunPtrFunPtrGHC.PtrPtrGHC.BaseasTypeOfString Foreign.PtrfreeHaskellFunPtrnewFreeHaskellFunPtrFunPtr$fDecodablePtrPtr$fDecodablePtrCSize$fDecodablePtrCDouble$fDecodablePtrCFloat$fDecodablePtrCULLong$fDecodablePtrCLLong$fDecodablePtrCULong$fDecodablePtrCLong$fDecodablePtrCUInt$fDecodablePtrCInt$fDecodablePtrCUShort$fDecodablePtrCShort$fDecodablePtrCUChar$fDecodablePtrCChar$fDecodablePtrBool$fAssignablePtra$fAssignablePtrBool $fEnumCBool$fBoundedCBool