summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortduehr <tduehr@gmail.com>2014-01-16 11:54:29 -0600
committertduehr <tduehr@gmail.com>2014-10-13 15:27:13 -0500
commit42c67692f9ae1dfcd47ece246bf8e22706c76a6d (patch)
treefb2676c946d3360befb40d2ae27b1556921d220e
parenta129108a69da828b194a0870c3dd7a6fc29875b4 (diff)
downloadffi-42c67692f9ae1dfcd47ece246bf8e22706c76a6d.tar.gz
documentation
-rw-r--r--lib/ffi/enum.rb9
-rw-r--r--lib/ffi/library.rb19
2 files changed, 26 insertions, 2 deletions
diff --git a/lib/ffi/enum.rb b/lib/ffi/enum.rb
index dc8711a..1b0b898 100644
--- a/lib/ffi/enum.rb
+++ b/lib/ffi/enum.rb
@@ -86,8 +86,13 @@ module FFI
attr_reader :tag
- # @param [nil, Enumerable] info
- # @param tag enum tag
+ # @overload initialize(info, tag=nil)
+ # @param [nil, Enumerable] info
+ # @param [nil, Symbol] tag enum tag
+ # @overload initialize(native_type, info, tag=nil)
+ # @param [FFI::Type] native_type Native type for new Enum
+ # @param [nil, Enumerable] info symbols and values for new Enum
+ # @param [nil, Symbol] tag name of new Enum
def initialize(*args)
@native_type = args.shift if args.first.kind_of?(FFI::Type)
info, @tag = *args
diff --git a/lib/ffi/library.rb b/lib/ffi/library.rb
index 9711d8e..53eb87d 100644
--- a/lib/ffi/library.rb
+++ b/lib/ffi/library.rb
@@ -444,6 +444,25 @@ module FFI
# @example
# enum [:zero, :one, :two] # unnamed enum, equivalent to above example
# @param [Array] values values for enum
+ # @overload enum(native_type, name, values)
+ # Create a named enum and specify the native type.
+ # @example
+ # enum FFI::Type::UINT64, :foo, [:zero, :one, :two] # named enum
+ # @param [FFI::Type] native_type native type for new enum
+ # @param [Symbol] name name for new enum
+ # @param [Array] values values for enum
+ # @overload enum(native_type, *args)
+ # Create an unnamed enum and specify the native type.
+ # @example
+ # enum FFI::Type::UINT64, :zero, :one, :two # unnamed enum
+ # @param [FFI::Type] native_type native type for new enum
+ # @param args values for enum
+ # @overload enum(native_type, values)
+ # Create an unnamed enum and specify the native type.
+ # @example
+ # enum Type::UINT64, [:zero, :one, :two] # unnamed enum, equivalent to above example
+ # @param [FFI::Type] native_type native type for new enum
+ # @param [Array] values values for enum
# @return [FFI::Enum]
# Create a new {FFI::Enum}.
def enum(*args)