name: Ip
class_comment: null
dependencies:
- name: Constraint
  type: class
  source: Symfony\Component\Validator\Constraint
- name: ConstraintDefinitionException
  type: class
  source: Symfony\Component\Validator\Exception\ConstraintDefinitionException
- name: InvalidArgumentException
  type: class
  source: Symfony\Component\Validator\Exception\InvalidArgumentException
properties:
- name: normalizer
  visibility: public
  comment: "# * Validates that a value is a valid IP address.\n# *\n# * @author Bernhard\
    \ Schussek <bschussek@gmail.com>\n# * @author Joseph Bielawski <stloyd@gmail.com>\n\
    # * @author Ninos Ego <me@ninosego.de>\n# */\n# #[\\Attribute(\\Attribute::TARGET_PROPERTY\
    \ | \\Attribute::TARGET_METHOD | \\Attribute::IS_REPEATABLE)]\n# class Ip extends\
    \ Constraint\n# {\n# public const V4 = '4';\n# public const V6 = '6';\n# public\
    \ const ALL = 'all';\n# \n# // adds inverse FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE\
    \ flags (skip both)\n# public const V4_NO_PUBLIC = '4_no_public';\n# public const\
    \ V6_NO_PUBLIC = '6_no_public';\n# public const ALL_NO_PUBLIC = 'all_no_public';\n\
    # \n# // adds FILTER_FLAG_NO_PRIV_RANGE flag (skip private ranges)\n# public const\
    \ V4_NO_PRIVATE = '4_no_priv';\n# public const V4_NO_PRIV = self::V4_NO_PRIVATE;\
    \ // BC: Alias\n# public const V6_NO_PRIVATE = '6_no_priv';\n# public const V6_NO_PRIV\
    \ = self::V6_NO_PRIVATE; // BC: Alias\n# public const ALL_NO_PRIVATE = 'all_no_priv';\n\
    # public const ALL_NO_PRIV = self::ALL_NO_PRIVATE; // BC: Alias\n# \n# // adds\
    \ FILTER_FLAG_NO_RES_RANGE flag (skip reserved ranges)\n# public const V4_NO_RESERVED\
    \ = '4_no_res';\n# public const V4_NO_RES = self::V4_NO_RESERVED; // BC: Alias\n\
    # public const V6_NO_RESERVED = '6_no_res';\n# public const V6_NO_RES = self::V6_NO_RESERVED;\
    \ // BC: Alias\n# public const ALL_NO_RESERVED = 'all_no_res';\n# public const\
    \ ALL_NO_RES = self::ALL_NO_RESERVED; // BC: Alias\n# \n# // adds FILTER_FLAG_NO_PRIV_RANGE\
    \ and FILTER_FLAG_NO_RES_RANGE flags (skip both)\n# public const V4_ONLY_PUBLIC\
    \ = '4_public';\n# public const V6_ONLY_PUBLIC = '6_public';\n# public const ALL_ONLY_PUBLIC\
    \ = 'all_public';\n# \n# // adds inverse FILTER_FLAG_NO_PRIV_RANGE\n# public const\
    \ V4_ONLY_PRIVATE = '4_private';\n# public const V6_ONLY_PRIVATE = '6_private';\n\
    # public const ALL_ONLY_PRIVATE = 'all_private';\n# \n# // adds inverse FILTER_FLAG_NO_RES_RANGE\n\
    # public const V4_ONLY_RESERVED = '4_reserved';\n# public const V6_ONLY_RESERVED\
    \ = '6_reserved';\n# public const ALL_ONLY_RESERVED = 'all_reserved';\n# \n# public\
    \ const INVALID_IP_ERROR = 'b1b427ae-9f6f-41b0-aa9b-84511fbb3c5b';\n# \n# protected\
    \ const VERSIONS = [\n# self::V4,\n# self::V6,\n# self::ALL,\n# \n# self::V4_NO_PUBLIC,\n\
    # self::V6_NO_PUBLIC,\n# self::ALL_NO_PUBLIC,\n# \n# self::V4_NO_PRIVATE,\n# self::V6_NO_PRIVATE,\n\
    # self::ALL_NO_PRIVATE,\n# \n# self::V4_NO_RESERVED,\n# self::V6_NO_RESERVED,\n\
    # self::ALL_NO_RESERVED,\n# \n# self::V4_ONLY_PUBLIC,\n# self::V6_ONLY_PUBLIC,\n\
    # self::ALL_ONLY_PUBLIC,\n# \n# self::V4_ONLY_PRIVATE,\n# self::V6_ONLY_PRIVATE,\n\
    # self::ALL_ONLY_PRIVATE,\n# \n# self::V4_ONLY_RESERVED,\n# self::V6_ONLY_RESERVED,\n\
    # self::ALL_ONLY_RESERVED,\n# ];\n# \n# protected const ERROR_NAMES = [\n# self::INVALID_IP_ERROR\
    \ => 'INVALID_IP_ERROR',\n# ];\n# \n# public string $version = self::V4;\n# public\
    \ string $message = 'This is not a valid IP address.';\n# /** @var callable|null"
methods:
- name: __construct
  visibility: public
  parameters:
  - name: options
    default: 'null'
  - name: version
    default: 'null'
  - name: message
    default: 'null'
  - name: normalizer
    default: 'null'
  - name: groups
    default: 'null'
  - name: payload
    default: 'null'
  comment: "# * Validates that a value is a valid IP address.\n# *\n# * @author Bernhard\
    \ Schussek <bschussek@gmail.com>\n# * @author Joseph Bielawski <stloyd@gmail.com>\n\
    # * @author Ninos Ego <me@ninosego.de>\n# */\n# #[\\Attribute(\\Attribute::TARGET_PROPERTY\
    \ | \\Attribute::TARGET_METHOD | \\Attribute::IS_REPEATABLE)]\n# class Ip extends\
    \ Constraint\n# {\n# public const V4 = '4';\n# public const V6 = '6';\n# public\
    \ const ALL = 'all';\n# \n# // adds inverse FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE\
    \ flags (skip both)\n# public const V4_NO_PUBLIC = '4_no_public';\n# public const\
    \ V6_NO_PUBLIC = '6_no_public';\n# public const ALL_NO_PUBLIC = 'all_no_public';\n\
    # \n# // adds FILTER_FLAG_NO_PRIV_RANGE flag (skip private ranges)\n# public const\
    \ V4_NO_PRIVATE = '4_no_priv';\n# public const V4_NO_PRIV = self::V4_NO_PRIVATE;\
    \ // BC: Alias\n# public const V6_NO_PRIVATE = '6_no_priv';\n# public const V6_NO_PRIV\
    \ = self::V6_NO_PRIVATE; // BC: Alias\n# public const ALL_NO_PRIVATE = 'all_no_priv';\n\
    # public const ALL_NO_PRIV = self::ALL_NO_PRIVATE; // BC: Alias\n# \n# // adds\
    \ FILTER_FLAG_NO_RES_RANGE flag (skip reserved ranges)\n# public const V4_NO_RESERVED\
    \ = '4_no_res';\n# public const V4_NO_RES = self::V4_NO_RESERVED; // BC: Alias\n\
    # public const V6_NO_RESERVED = '6_no_res';\n# public const V6_NO_RES = self::V6_NO_RESERVED;\
    \ // BC: Alias\n# public const ALL_NO_RESERVED = 'all_no_res';\n# public const\
    \ ALL_NO_RES = self::ALL_NO_RESERVED; // BC: Alias\n# \n# // adds FILTER_FLAG_NO_PRIV_RANGE\
    \ and FILTER_FLAG_NO_RES_RANGE flags (skip both)\n# public const V4_ONLY_PUBLIC\
    \ = '4_public';\n# public const V6_ONLY_PUBLIC = '6_public';\n# public const ALL_ONLY_PUBLIC\
    \ = 'all_public';\n# \n# // adds inverse FILTER_FLAG_NO_PRIV_RANGE\n# public const\
    \ V4_ONLY_PRIVATE = '4_private';\n# public const V6_ONLY_PRIVATE = '6_private';\n\
    # public const ALL_ONLY_PRIVATE = 'all_private';\n# \n# // adds inverse FILTER_FLAG_NO_RES_RANGE\n\
    # public const V4_ONLY_RESERVED = '4_reserved';\n# public const V6_ONLY_RESERVED\
    \ = '6_reserved';\n# public const ALL_ONLY_RESERVED = 'all_reserved';\n# \n# public\
    \ const INVALID_IP_ERROR = 'b1b427ae-9f6f-41b0-aa9b-84511fbb3c5b';\n# \n# protected\
    \ const VERSIONS = [\n# self::V4,\n# self::V6,\n# self::ALL,\n# \n# self::V4_NO_PUBLIC,\n\
    # self::V6_NO_PUBLIC,\n# self::ALL_NO_PUBLIC,\n# \n# self::V4_NO_PRIVATE,\n# self::V6_NO_PRIVATE,\n\
    # self::ALL_NO_PRIVATE,\n# \n# self::V4_NO_RESERVED,\n# self::V6_NO_RESERVED,\n\
    # self::ALL_NO_RESERVED,\n# \n# self::V4_ONLY_PUBLIC,\n# self::V6_ONLY_PUBLIC,\n\
    # self::ALL_ONLY_PUBLIC,\n# \n# self::V4_ONLY_PRIVATE,\n# self::V6_ONLY_PRIVATE,\n\
    # self::ALL_ONLY_PRIVATE,\n# \n# self::V4_ONLY_RESERVED,\n# self::V6_ONLY_RESERVED,\n\
    # self::ALL_ONLY_RESERVED,\n# ];\n# \n# protected const ERROR_NAMES = [\n# self::INVALID_IP_ERROR\
    \ => 'INVALID_IP_ERROR',\n# ];\n# \n# public string $version = self::V4;\n# public\
    \ string $message = 'This is not a valid IP address.';\n# /** @var callable|null\
    \ */\n# public $normalizer;\n# \n# /**\n# * @param array<string,mixed>|null  \
    \          $options\n# * @param self::V4*|self::V6*|self::ALL*|null $version The\
    \ IP version to validate (defaults to {@see self::V4})\n# * @param string[]|null\
    \                       $groups"
traits:
- Symfony\Component\Validator\Constraint
- Symfony\Component\Validator\Exception\ConstraintDefinitionException
- Symfony\Component\Validator\Exception\InvalidArgumentException
interfaces: []