complicated C++ statement

hi,
I need help with the following statement

SdSpiConfig(uint8_t cs, uint8_t opt) :
    spiSettings(SPI_FULL_SPEED), csPin(cs), options(opt), spiPort(-1)  {}

SdSpiConfig is the name of a class.
Therefore SdSpiConfig(uint8_t cs, uint8_t opt) is a call to the constructor of that class.
The code above is part of the header file where the class SdSpiConfig is defined.
There are several different definitions of the contructor which is possible in C++, see the complete class definition at the end of this post.

But I don't understand SdSpiConfig(uint8_t cs, uint8_t opt): ....
The part after the colon is a list of function calls.
What happens with the call to SdSpiConfig(uint8_t cs, uint8_t opt)?

For those who need the complete class definition:

/**
 * \class SdSpiConfig
 * \brief SPI card configuration.
 */
class SdSpiConfig {
 public:
   /** SdSpiConfig constructor.
   *
   * \param[in] cs Chip select pin.
   * \param[in] opt Options.
   * \param[in] settings SPISettings.
   * \param[in] port The SPI port to use.
   */
  SdSpiConfig(uint8_t cs, uint8_t opt, SPISettings settings, uint8_t port) :
    spiSettings(settings), csPin(cs), options(opt), spiPort(port) {}

  /** SdSpiConfig constructor.
   *
   * \param[in] cs Chip select pin.
   * \param[in] opt Options.
   * \param[in] settings SPISettings.
   */
  SdSpiConfig(uint8_t cs, uint8_t opt, SPISettings settings) :
    spiSettings(settings), csPin(cs), options(opt), spiPort(-1) {}
  /** SdSpiConfig constructor.
   *
   * \param[in] cs Chip select pin.
   * \param[in] opt Options.
   */
  SdSpiConfig(uint8_t cs, uint8_t opt) :
    spiSettings(SPI_FULL_SPEED), csPin(cs), options(opt), spiPort(-1)  {}
  /** SdSpiConfig constructor.
   *
   * \param[in] cs Chip select pin.
   */
  explicit SdSpiConfig(uint8_t cs) :
    spiSettings(SPI_FULL_SPEED), csPin(cs), options(SHARED_SPI), spiPort(-1) {}

  /** SPISettings */
  const SPISettings spiSettings;
  /** Chip select pin. */
  const uint8_t csPin;
  /** Options */
  const uint8_t options;
  /** SPI port */
  const int8_t spiPort;
};

SPISettings is defined as follows:

#ifndef MSBFIRST
#define MSBFIRST 1
#endif  // MSBFIRST
#ifndef SPI_MODE0
#define SPI_MODE0 0
#endif  // MSBFIRST
struct SPISettings {
  uint32_t clockHz;
  SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode) {
    clockHz = clock;
    (void)bitOrder;
    (void) dataMode;
  }
  SPISettings() {
    clockHz = 4000000;
  }
};

It's not a list of function calls, it's an initialiser list, initialising member variables.