---
name: "__gnu_cxx::project1st"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx::project1st/3cxx"
---

# \_\_gnu\_cxx::project1st(3cxx)

An SGI extension .

## NAME

\_\_gnu\_cxx::project1st\< \_Arg1, \_Arg2 \> - An **SGI extension** .

## SYNOPSIS

`#include <functional>`

Inherits \_\_gnu\_cxx::\_Project1st\< \_Arg1, \_Arg2 \>.

### Public Types

typedef \_Arg1 **first\_argument\_type**\
 `first_argument_type` is the type of the first argument  typedef \_Arg1 **result\_type**\
 `result_type` is the return type  typedef \_Arg2 **second\_argument\_type**\
 `second_argument_type` is the type of the second argument

### Public Member Functions

\_Arg1 **operator()** (const \_Arg1 &\_\_x, const \_Arg2 &) const\

## Detailed Description

### template\<class \_Arg1, class \_Arg2\>

struct \_\_gnu\_cxx::project1st\< \_Arg1, \_Arg2 \>"An **SGI extension** .

## Member Typedef Documentation

### typedef \_Arg1 std::binary\_function\< \_Arg1, \_Arg2, \_Arg1 \>::first\_argument\_type` [inherited]`

`first_argument_type` is the type of the first argument

### typedef \_Arg1 std::binary\_function\< \_Arg1, \_Arg2, \_Arg1 \>::result\_type` [inherited]`

`result_type` is the return type

### typedef \_Arg2 std::binary\_function\< \_Arg1, \_Arg2, \_Arg1 \>::second\_argument\_type` [inherited]`

`second_argument_type` is the type of the second argument

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
